@Override
  public synchronized void abort(String msg) {
    setStatus(msg);
    setState(State.ABORTED);
    for (MonitoredTask task : tasks) {
      if (task.getState() != State.COMPLETE && task.getState() != State.ABORTED) {
        task.abort(msg);
      }
    }
    delegate.abort(msg);
  }
Add a new task to the group, and before that might complete the last task in the group
@param description      the description of the new task
@param withCompleteLast whether to complete the last task in the group
@return the added new task
hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskGroup.java