/// <summary>
 /// Build an ouput that is assumed to have valid output.
 /// </summary>
 public ThreadedWorkProduct(TO output)
 {
     ResultType = ThreadedWorkResultType.OutputProduced;
     Output     = output;
 }
 public ThreadedWorkProduct(TO output, ThreadedWorkResultType resultType)
 {
     Output     = output;
     ResultType = resultType;
 }