code: public final void start() {
          try {
              if (!_unlocked) {
                  _log.info("Starting {}", getName());
                  doStart();
              }
              _started = true;
          } catch (Exception ex) {
              throw new SystemException(ex);
          } finally {
              _unlocked = true;
              _interlock.countDown();
          }
      }
docs: Performs the actions of the {@link #doStart()} method. After this method completes either by normal execution or by throwing an exception, the
  interlock condition is satisfied and calls to {@link #stop()} may proceed.
  
  @throws  SystemException  If any exception is thrown by the underlying implementation.