public override bool Evaluate(Func <ItemT, bool> evaluator) { if (evaluator is null) { throw new ArgumentNullException(nameof(evaluator)); } return(Item1.Evaluate(evaluator) || Item2.Evaluate(evaluator)); }