code: protected final @Nullable V copyValue(@Nullable Expirable<V> expirable) {
      if (expirable == null) {
        return null;
      }
      V copy = copier.copy(expirable.get(), cacheManager.getClassLoader());
      return requireNonNull(copy);
    }
docs: Returns a copy of the value if value-based caching is enabled.
  
  @param expirable the expirable value to be copied
  @return a copy of the value if storing by value or the same instance if by reference