public abstract void Add(TaskBase other);
public void Add(TaskBase task) { group.Add(task); }
public sealed override void Add(TaskBase other) { throw new NotImplementedException(); }
public override void Add(TaskBase task) { tasks.AddLast(task); }