code: public final T build(final boolean init) throws IllegalStateException {
      final T build = build(dependencySet().withoutMandatoryServices().with(services));
      if (init) {
        build.init();
      }
      return build;
    }
docs: Builds the {@link UserManagedCache}, initializing it if requested.
  
  @param init whether to initialize or not the cache before returning
  @return a user managed cache
  @throws IllegalStateException if the user managed cache cannot be built