code: @Override
      public synchronized boolean stop() {
          if (!this.isStarted()) {
              throw new IllegalStateException("Cannot terminate what was not started.");
          } else if (!this.isStopped.compareAndSet(false, true)) {
              return false;
          }
          DefaultLogWatch.LOGGER.info("Terminating {}.", this);
          this.tailing.stop();
          this.consumers.stop();
          this.handingDown.clear();
          this.storage.logWatchTerminated();
          DefaultLogWatch.LOGGER.info("Terminated {}.", this);
          return true;
      }
docs: Invoking this method will cause the running message sweep to be
  de-scheduled. Any currently present {@link Message}s will only be removed
  from memory when this watch instance is removed from memory.