// take a copy of the collection to avoid concurrent modification exception
// that would result when embeddables are added lazily.
for (MetadataDescriptor descriptor:
m_project.getDescriptors().toArray(new MetadataDescriptor[]{})) {
// Process all descriptors that are in our project.
ClassAccessor accessor = descriptor.getClassAccessor();
// If there is no accessor on this descriptor then it has not been
// processed yet. Create one and process it.
if (accessor == null) {
accessor = new ClassAccessor(new MetadataClass(descriptor.getJavaClass()), this, descriptor);
descriptor.setClassAccessor(accessor);
accessor.process();
}
}
// Process the project and anything that was deferred like
// sequencing and relationship mappings and we are done.