code: private Queue<ReadFuture> getWaitingReadFutures() {
          Queue<ReadFuture> waitingReadyReadFutures =
              (Queue<ReadFuture>) getAttribute(WAITING_READ_FUTURES_KEY);
          if (waitingReadyReadFutures == null) {
              waitingReadyReadFutures = new CircularQueue<>();
  
              Queue<ReadFuture> oldWaitingReadyReadFutures =
                  (Queue<ReadFuture>) setAttributeIfAbsent(
                          WAITING_READ_FUTURES_KEY, waitingReadyReadFutures);
              if (oldWaitingReadyReadFutures != null) {
                  waitingReadyReadFutures = oldWaitingReadyReadFutures;
              }
          }
          return waitingReadyReadFutures;
      }
docs: TODO Add method documentation