code: public <C> CacheManagerBuilder<T> withCopier(Class<C> clazz, Class<? extends Copier<C>> copier) {
      DefaultCopyProviderConfiguration service = configBuilder.findServiceByClass(DefaultCopyProviderConfiguration.class);
      if (service == null) {
        service = new DefaultCopyProviderConfiguration();
        service.addCopierFor(clazz, copier);
        return new CacheManagerBuilder<>(this, configBuilder.addService(service));
      } else {
        DefaultCopyProviderConfiguration newConfig = new DefaultCopyProviderConfiguration(service);
        newConfig.addCopierFor(clazz, copier, true);
        return new CacheManagerBuilder<>(this, configBuilder.removeService(service).addService(newConfig));
      }
    }
docs: Adds a default {@link Copier} for the specified type to the returned builder.
  
  @param clazz the {@code Class} for which the copier is
  @param copier the {@code Copier} instance
  @param <C> the type which can be copied
  @return a new builder with the added default copier