private static void parseObjectTypesFromSchema( RefinedResourceSchemaImpl rSchema, ResourceType resourceType, PrismContext prismContext, String contextDescription) throws SchemaException { RefinedObjectClassDefinition rAccountDefDefault = null; for (ObjectClassComplexTypeDefinition objectClassDef : rSchema.getOriginalResourceSchema().getObjectClassDefinitions()) { QName objectClassname = objectClassDef.getTypeName(); if (rSchema.getRefinedDefinition(objectClassname) != null) { continue; } RefinedObjectClassDefinition rOcDef = RefinedObjectClassDefinitionImpl.parseFromSchema( objectClassDef, resourceType, rSchema, prismContext, "object class " + objectClassname + ", in " + contextDescription); if (objectClassDef.getKind() == ShadowKindType.ACCOUNT && rOcDef.isDefault()) { if (rAccountDefDefault == null) { rAccountDefDefault = rOcDef; } else { throw new SchemaException( "More than one default account definitions (" + rAccountDefDefault + ", " + rOcDef + ") in " + contextDescription); } } rSchema.add(rOcDef); } }