public TResult Calculate(TTarget target) { if (Condition.Test(target)) { return(WhenTrue.Calculate(target)); } return(WhenFalse.Calculate(target)); }