addPotentialEmbeddableAccessor(accessor.getReferenceClass(), accessor.getClassAccessor());
// Tell an embeddable accessor that is a map key to a collection
// to pre-process itself.
if (accessor.isMappedKeyMapAccessor()) {
MappedKeyMapAccessor mapAccessor = (MappedKeyMapAccessor) accessor;
MetadataClass mapKeyClass = mapAccessor.getMapKeyClass();
// If the map key class is not specified, we need to look it
// up from the accessor type.
if (mapKeyClass == null || mapKeyClass.equals(void.class)) {
// Try to extract the map key class from a generic
// specification. This will throw an exception if it can't.
mapKeyClass = accessor.getMapKeyReferenceClass();
// Set the map key class.
mapAccessor.setMapKeyClass(mapKeyClass);
}
// Add the embeddable accessor to the project. In the case of
// pre-processing, if we are an embeddable accessor the nested
// embeddable will be pre-processed now.