processMapKeyClass(mapping, (MappedKeyMapAccessor) this);
} else if (isMapAccessor()) {
// If we are not a mapped key map accessor, but a map accessor,
// we need a map key metadata object to process. Default one if
// one is not provided.
MapKeyMetadata mapKey = getMapKey();
if (mapKey == null) {
setIndirectionPolicy(mapping, new MapKeyMetadata().process(mapping, this), usesIndirection());
} else {
setIndirectionPolicy(mapping, mapKey.process(mapping, this), usesIndirection());
}
} else {
// Set the indirection policy on the mapping.
setIndirectionPolicy(mapping, null, usesIndirection());
}