protected override Expression VisitUnary(UnaryExpression node) { if (node.IsNotExpression()) { _lastUnaryModifier = UnaryModifier.Not; return(base.VisitUnary(node)); } throw new InvalidOperationException($"Unknown unary expresson {node.ToString()}"); }