protected AbstractManagedObjectDefinition(String name,AbstractManagedObjectDefinition<? super C,? super S> parent){
  this.name=name;
  this.parent=parent;
  if (parent != null) {
    registerInParent();
    for (    PropertyDefinition<?> pd : parent.getAllPropertyDefinitions()) {
      allPropertyDefinitions.put(pd.getName(),pd);
    }
    for (    RelationDefinition<?,?> rd : parent.getAllRelationDefinitions()) {
      allRelationDefinitions.put(rd.getName(),rd);
    }
    for (    AggregationPropertyDefinition<?,?> apd : parent.getAllAggregationPropertyDefinitions()) {
      allAggregationPropertyDefinitions.put(apd.getName(),apd);
    }
  }
}

protected AbstractManagedObjectDefinition ( String name , AbstractManagedObjectDefinition < ? super C , ? super S > parent ) { this . name = name ; this . parent = parent ; if ( parent != null ) { registerInParent ( ) ; for ( PropertyDefinition < ? > pd : parent . getAllPropertyDefinitions ( ) ) { allPropertyDefinitions . put ( pd . getName ( ) , pd ) ; } for ( RelationDefinition < ? , ? > rd : parent . getAllRelationDefinitions ( ) ) { allRelationDefinitions . put ( rd . getName ( ) , rd ) ; } for ( AggregationPropertyDefinition < ? , ? > apd : parent . getAllAggregationPropertyDefinitions ( ) ) { allAggregationPropertyDefinitions . put ( apd . getName ( ) , apd ) ; } } }
create a new abstract managed object definition .
