}
if (stem != null) {
if (def != null) {
ValueProvider vp;
TypeDef typeDef = def.getType(part);
vp = (ret instanceof ValueProvider) ? (ValueProvider) ret : (ValueProvider) typeDef.wrap(ret);
ret = vp.getValue(stem);
} else {
getValue(ret, stem, def);
}
}