}
else {
for(FieldValue f: i.getFieldValues()) {
String fieldName = f.getField().getName();
if (f instanceof ObjectFieldValue) {
ObjectFieldValue of = (ObjectFieldValue) f;
if (!isBlackListed(of.getField())) {
long id = of.getInstanceId();
// early check to avoid instantiation
if (!ignoreRefs.get(id)) {
path.setLength(len);
path.append('.').append(fieldName);
walk(details, of.getInstance(), path, depth + 1, reportShared, accountShared);
}
}
}
}
}