@Override
        public void run() {
          AccessToken token = AppExecutorUtil.propagateContext() ? ThreadContext.resetThreadContext() : AccessToken.EMPTY_ACCESS_TOKEN;
          //noinspection TryFinallyCanBeTryWithResources
          try {
            // This runnable is intended to be used for offloading the queue by executing stored tasks.
            // It means that it shall not possess a thread context,
            // but the executed tasks must have a context.
            if (myChangeThreadName) {
              ConcurrencyUtil.runUnderThreadName(myName, this::executeFirstTaskAndHelpQueue);
            }
            else {
              executeFirstTaskAndHelpQueue();
            }
          }
          finally {
            token.close();
          }
        }
@Override
        public void run()