private static void propertySwitch(PropertyDefinition def, Property prop, List<PropertySimple> replacementCandidates) { if (prop != null) { if (def instanceof PropertyDefinitionMap) { traverse((PropertyDefinitionMap) def, (PropertyMap) prop, replacementCandidates); } else if (def instanceof PropertyDefinitionList) { traverse((PropertyDefinitionList) def, (PropertyList) prop, replacementCandidates); } else if (def instanceof PropertyDefinitionSimple) { addIfShouldBeReplaced((PropertyDefinitionSimple) def, (PropertySimple) prop, replacementCandidates); } } }