code: protected <T> T roundtrip(T object, ClassLoader classLoader) {
      A data = serialize(object);
      @SuppressWarnings("unchecked")
      T copy = (T) deserialize(data, classLoader);
      return copy;
    }
docs: Performs the serialization and deserialization, returning the copied object.
  
  @param object the object to serialize
  @param classLoader the classloader to create the instance with
  @param <T> the type of object being copied
  @return the deserialized object