code: protected <T> T performCloneForCloneableMethod(T object, CloneDriver context) {
  
  		Class<?> clazz = object.getClass();
  
  		final T result;
  		try {
  			MethodHandle handle = context.getCloneMethod(clazz);
  			result = (T) handle.invoke(object);
  		} catch (Throwable e) {
  			throw new IllegalStateException("Could not invoke clone() for instance of: " + clazz.getName(), e);
  		}
  		return result;
  	}
docs: Helper method for performing cloning for objects of classes implementing java.lang.Cloneable
  @param object The object to be cloned.
  @param context The CloneDriver to be used
  @param <T> The type being copied
  @return The cloned object