code: private void handleOperationalTasks() throws IOException {
      checkPotentiallyTimedOutConnection();
  
      if (!shutDown && !reconnectQueue.isEmpty()) {
        attemptReconnects();
      }
  
      if (!retryOps.isEmpty()) {
        ArrayList<Operation> operations = new ArrayList<Operation>(retryOps);
        retryOps.clear();
        redistributeOperations(operations);
      }
  
      handleShutdownQueue();
    }
docs: Helper method for {@link #handleIO()} to encapsulate everything that
  needs to be checked on a regular basis that has nothing to do directly
  with reading and writing data.
  
  @throws IOException if an error happens during shutdown queue handling.