code: @Override
      public List<Runnable> shutdownNow() {
          shutdown();
  
          List<Runnable> answer = new ArrayList<>();
          IoSession session;
          
          while ((session = waitingSessions.poll()) != null) {
              if (session == EXIT_SIGNAL) {
                  waitingSessions.offer(EXIT_SIGNAL);
                  Thread.yield(); // Let others take the signal.
                  continue;
              }
  
              SessionTasksQueue sessionTasksQueue = (SessionTasksQueue) session.getAttribute(TASKS_QUEUE);
              
              synchronized (sessionTasksQueue.tasksQueue) {
                  
                  for (Runnable task: sessionTasksQueue.tasksQueue) {
                      getQueueHandler().polled(this, (IoEvent) task);
                      answer.add(task);
                  }
                  
                  sessionTasksQueue.tasksQueue.clear();
              }
          }
  
          return answer;
      }
docs: {@inheritDoc}