docs: public Future<Boolean> shutdown( boolean forceShutdownOfAllRepositories ) {
          if (!forceShutdownOfAllRepositories) {
              // Check to see if there are any still running ...
              final Lock lock = this.lock.readLock();
              try {
                  lock.lock();
                  for (JcrRepository repository : repositories.values()) {
                      switch (repository.getState()) {
                          case NOT_RUNNING:
                          case STOPPING:
                              break;
                          case RESTORING:
                          case RUNNING:
                          case STARTING:
                              // This repository is still running, so fail
                              return ImmediateFuture.create(Boolean.FALSE);
                      }
                  }
                  // If we got to here, there are no more running repositories ...
              } finally {
                  lock.unlock();
              }
  
          }
          // Create a simple executor that will do the backgrounding for us ...
          final ExecutorService executor = Executors.newSingleThreadExecutor();
          try {
              // Submit a runnable to shutdown the repositories ...
              return executor.submit(this::doShutdown);
          } finally {
              // Now shutdown the executor and return the future ...
              executor.shutdown();
          }
      }