code: public static <T> T copy(final T object) {
  		if (object == null) return null;
  		TypeEnum type = TypeEnum.dataTypeOf(object.getClass());
  		return copy(object, type);
  	}
docs: Returns a deep copy of a pdef data type (a primitive, a collection, or a message).