/// <summary> /// Create a sequence of progress tasks for executing a process containing two or more operations. /// </summary> /// <typeparam name="TResult">The type of object returned by the first operation.</typeparam> /// <param name="func">The first operation to execute.</param> /// <param name="typeDescription">The type description use for the progress.</param> /// <param name="operationDescription">The progress description to use for the first operation.</param> /// <returns></returns> protected ProgressTask <TResult> First <TResult>(Func <List <TResult> > func, string typeDescription, string operationDescription) { return(ProgressTask <TResult> .Create(func, this, typeDescription, operationDescription)); }