code: public T copy() {
          T copy = Instantiator.of(type).instantiate();
          return copyInto(copy);
      }
docs: Creates a copy of the wrapped object.
  
  Note: it does a "shallow" copy. Reference fields are not copied
  recursively.
  
  @return A shallow copy.