protected void start(@NotNull @NonNls String presentableName) {
    if (StringUtilRt.isEmptyOrSpaces(presentableName)) {
      LOG.warn(new Throwable("Must provide not-empty presentable name"));
    }
    if (myFinishedFuture == null) {
      myFinishedFuture = executeOnPooledThread(() -> {
        if (StringUtilRt.isEmptyOrSpaces(presentableName)) {
          doRun();
        }
        else {
          ConcurrencyUtil.runUnderThreadName("BaseDataReader: " + presentableName, this::doRun);
        }
      });
    }
  }
protected void start(@NotNull @NonNls String presentableName)