}
private void buildModel(SelectedObjectStructures structures, LdapStructure ldapStructure) {
Map<NumericOid, ObjectClassStructure[]> auxInfo = translateAuxClassInfo(ldapStructure);
for (Map.Entry<ObjectClassDefinition, ObjectClassStructure> e : structures.getStructuresAlphabetically()) {
ObjectClassDefinition classDef = e.getKey();
ClassNameNode parent = new ClassNameNode(classDef, getRoot());
classNodes.put(classDef.getOid(), parent);
ObjectClassStructure classStruct = e.getValue();
if (classStruct != null) {
Collection<LdapStructureAttribute> extAttrs = askStructureForExtendedAttributes(ldapStructure,
classStruct);
AttributeContributions attrs = addAttributeContributions(classDef.getOid(), classStruct, extAttrs);
ObjectClassStructure[] auxStructs = auxInfo.get(classDef.getOid());
if (auxStructs != null) {
auxClassSelection.setAuxiliaryClasses(classDef.getOid(), auxStructs);
}
buildTree(attrs, parent);
} else {
new UnknownStructureNode(parent);
}