@Override public void visitBefore(Property p) { PropertyWrapper propertyWrapper = new PropertyWrapper(p); if (propertyWrapper.isMany() && !propertyWrapper.isDerived() && !propertyWrapper.isQualifier() && !propertyWrapper.isRefined() && !(propertyWrapper.getOwner() instanceof Enumeration)) { OJAnnotatedClass owner = findOJClass(p); buildGetter(owner, propertyWrapper); if (propertyWrapper.isMemberOfAssociationClass()) { buildGetterForAssociationClass( findAssociationClassOJClass(propertyWrapper), propertyWrapper); OJAnnotatedClass associationOJClass = findAssociationClassOJClass(propertyWrapper); OnePropertyVisitor.buildOneAdder(associationOJClass, propertyWrapper, true, false); } buildManyAdder(owner, propertyWrapper, false, false); buildManyAdder(owner, propertyWrapper, false, true); if (propertyWrapper.isOrdered()) { buildManyAdder(owner, propertyWrapper, true, false); } buildSetter(owner, propertyWrapper); } }