code: T cycle() {
          if (_prioritize != null) {
              return _prioritize;
          }
          if (!_queue.isEmpty()) {
              T first = _queue.keySet().iterator().next();
              _queue.get(first);  // Access the object so it gets bumped to the back of the queue.
              return first;
          }
          return null;
      }
docs: Returns the head of the queue, then cycles it to the back of the queue.