// 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());
}