code: @Trivial
      boolean deferExecutionForConfigUpdate(Runnable targetRunnable) {
          boolean returnValue = false;
  
          configUpdatePendingQueueLock.readLock().lock();
          try {
              if (configUpdatesInProgress == 0) {
                  return returnValue;
              }
          } finally {
              configUpdatePendingQueueLock.readLock().unlock();
          }
  
          configUpdatePendingQueueLock.writeLock().lock();
          try {
              if (configUpdatesInProgress > 0) {
                  configUpdatePendingQueue.add(targetRunnable);
                  returnValue = true;
              }
          } finally {
              configUpdatePendingQueueLock.writeLock().unlock();
          }
  
          if (returnValue && TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(this, tc, "execution deferred while config update in progress");
          return returnValue;
      }
docs: If a configuration update is currently in progress add the targetRunnable to a
  local queue to drive its run method after the configuration update(s) is complete.
  
  @param targetRunnable Runnable eligible for execution.
  @return return true if a configuration update is in progress, false if not.