code: @SuppressWarnings("NullAway")
    protected final @NonNull <T> T copyOf(@Nullable T object) {
      if (object == null) {
        return null;
      }
      T copy = copier.copy(object, cacheManager.getClassLoader());
      return requireNonNull(copy);
    }
docs: Returns a copy of the value if value-based caching is enabled.
  
  @param object the object to be copied
  @param <T> the type of object being copied
  @return a copy of the object if storing by value or the same instance if by reference