public void eval(final Object key, final Object val) {
final Object objKey = mapper.getConverters().decode(mf.getMapKeyClass(), key);
if (refAnn.lazy() && LazyFeatureDependencies.assertDependencyFullFilled()) {
final ProxiedEntityReferenceMap proxiedMap = (ProxiedEntityReferenceMap) map;
proxiedMap.__put(objKey, refAnn.idOnly()
? mapper.manualRefToKey(referenceObjClass, val)
: mapper.refToKey((DBRef) val));
} else {
final Object resolvedObject = resolveObject(val, mf, cache, mapper, refAnn.idOnly());
map.put(objKey, resolvedObject);