code: public void requestAllTasks(Action1<Map<TaskQueue.TaskState, Collection<QueuableTask>>> action) throws TaskQueueException {
          if (!taskMapRequest.offer(action))
              throw new TaskQueueException("Too many pending actions submitted for getting tasks collection");
      }
docs: Get all of the tasks in the scheduling service's queue and call the given action when it is available. The
  list of queues returned is in a consistent state, that is, transitionary actions from ongoing scheduling
  iterations do not affect the returned collection of tasks. Although an ongoing scheduling iteration is
  unaffected by this call, onset of the next scheduling iteration may be delayed until the call to the given
  {@code action} returns. Therefore, it is expected that the {@code action} callback return quickly.
  @param action The action to call with task collection.
  @throws TaskQueueException if too many actions are pending to get tasks collection.