ClassDetails classDetails = createClassDetails(metaClass, weaveValueHoldersForClass, weaveChangeTrackingForClass, weaveFetchGroups, weaveInternal);
if (descriptor.isDescriptorTypeAggregate()) {
classDetails.setIsEmbedable(true);
classDetails.setShouldWeaveFetchGroups(false);
}
if (!descriptor.usesPropertyAccessForWeaving()){
classDetails.useAttributeAccess();
}
List unMappedAttributes = storeAttributeMappings(metaClass, classDetails, descriptor.getMappings(), weaveValueHoldersForClass);
classDetailsMap.put(classDetails.getClassName() ,classDetails);