if (childObject != null) {
final WeakObjectIdentityKey weakChildObjectIdentityKey = new WeakObjectIdentityKey(
childObject/* , referenceQueue */);
final NodeForObject nodeForChildObject;
if (nodeForObjectByWeakMap.containsKey(weakChildObjectIdentityKey)) {
/* existing object */
nodeForChildObject = nodeForObjectByWeakMap
.get(weakChildObjectIdentityKey);
nodeForChildObject.addFather(fatherNode);
} else {
/* new object */
nodeForChildObject = new NodeForObject(fatherNode,
weakChildObjectIdentityKey);
memorizeNewObject(weakChildObjectIdentityKey,
nodeForChildObject);
// referenceMap.put(weakChildObjectIdentityKey.getReference(),
// weakChildObjectIdentityKey);
// weakList.put(weakChildObjectIdentityKey,
// weakChildObjectIdentityKey);
}
fatherNode.addChild(declaringClass, fieldName, staticField,
nodeForChildObject);
nodeForChildObject.addFather(fatherNode);
}
}