}
else {
final AOption<AValueMappingDef> vmOpt = compilationContext.tryGetValueMapping(types);
// statically determine if the mapped values will be mapped as values or objects
if(vmOpt.isDefined()) {
final AValueMappingDef vm = vmOpt.get();
if(vm instanceof AInlineableValueMappingDef) {
final AInlineableValueMappingDef ivm = (AInlineableValueMappingDef) vm;
final String getSource = mergedCodeSnippet(sourceProp.javaCodeForGet(source), injectedFields);
final String mapped = mergedCodeSnippet(ivm.javaCodeForMap(new ACodeSnippet(getSource), types), injectedFields);