public override async Task <Terminator <Reduction> > InvokeAsync(Reduction reduction, T value) { var terminator = await Next.InvokeAsync(reduction, value); if (Test(value)) { return(Terminator.Termination(terminator.Value)); } return(terminator); }
public override Terminator <Reduction> Invoke(Reduction reduction, T value) { var terminator = Next.Invoke(reduction, value); if (Test(value)) { return(Terminator.Termination(terminator.Value)); } return(terminator); }