void (@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); } }); } }