code: public void removeTask(String taskId, QAttributes qAttributes, String hostname) {
          removeTasksQueue.offer(new RemoveTaskRequest(taskId, qAttributes, hostname));
      }
docs: Mark the task to be removed. This is expected to be called for all tasks that were added to the queue, whether or
  not the task is already running. If the task is running, the <code>hostname</code> parameter must be set, otherwise,
  it can be <code>null</code>. The actual remove operation is performed before the start of the next scheduling
  iteration.
  @param taskId The Id of the task to be removed.
  @param qAttributes The queue attributes of the queue that the task belongs to
  @param hostname The name of the VM where the task was assigned resources from, or, <code>null</code> if it was
  not assigned any resources.