code: public final void deepCopyObjectField(Object source, Object copy, Field field, IdentityHashMap<Object, Object> referencesToReuse) {
  
  		deepCopyObjectAtOffset(source, copy, field.getType(), getObjectFieldOffset(field), referencesToReuse);
  	}
docs: Copies the object of the specified type from the given field in the source object
  to the same field in the copy, visiting the object during the copy so that its fields are also copied
  @param source The object to copy from
  @param copy The target object
  @param field Field to be copied
  @param referencesToReuse An identity map of references to reuse - this is further populated as the copy progresses.
  The key is the original object reference - the value is the copied instance for that original.