docs: public void start() {
          if (state == State.RUNNING) return;
          final Lock lock = this.lock.writeLock();
          try {
              lock.lock();
              this.state = State.STARTING;
  
              // Create an executor service that we'll use to start the repositories ...
              ThreadFactory threadFactory = new NamedThreadFactory("modeshape-start-repo");
              repositoryStarterService = Executors.newCachedThreadPool(threadFactory);
  
              state = State.RUNNING;
          } catch (RuntimeException e) {
              state = State.NOT_RUNNING;
              throw e;
          } finally {
              lock.unlock();
          }
      }