/** Interpret a replacement based on the annotation behaviour, return true if it was set. */
private boolean interpretReplace(String key, ContentType type, Builder builder,
StringMap<Object> inside, StringMap<Object> outside, StringMap<Object> current,
StringMap<String> changeCollector) {
AnnotationBehaviour logic = annotationLogic.getClosestBehaviour(key);
if (logic != null) {
switch (logic.replace(inside, outside, type)) {
case INSIDE :
return safeSet(builder, key, inside.get(key), current.get(key), changeCollector);
case OUTSIDE :
return safeSet(builder, key, outside.get(key), current.get(key), changeCollector);
case NEITHER :