code: public UserManagedCacheBuilder<K, V, T> using(ServiceCreationConfiguration<?> serviceConfiguration) {
      UserManagedCacheBuilder<K, V, T> otherBuilder = new UserManagedCacheBuilder<>(this);
      if (serviceConfiguration instanceof DefaultSizeOfEngineProviderConfiguration) {
        removeAnySizeOfEngine(otherBuilder);
      }
      otherBuilder.serviceCreationConfigurations.add(serviceConfiguration);
      return otherBuilder;
    }
docs: Adds a {@link ServiceCreationConfiguration}, to trigger a service loading and its configuration, to the returned
  builder.
  <p>
  Note that while {@link Service}s will be started upon {@link UserManagedCache} construction, no other lifecycle
  operations will be performed on them. It is the responsibility of the developer to properly stop
  {@code Service}s once they are no longer required. Which means that this method should not be used to get
  services that require a stop.
  
  @param serviceConfiguration the service creation configuration to add
  @return a new builder with the added service creation configuration
  
  @see #using(Service)