public override void ReplaceTruthyExpressions() { if (LeftSide is PropertyFilterSubExpression p1) { LeftSide = new TruthyFilterSubExpression(p1); } else if (LeftSide is ArrayAccessFilterSubExpression a1) { LeftSide = new TruthyFilterSubExpression(a1); } else { LeftSide.ReplaceTruthyExpressions(); } if (RightSide is PropertyFilterSubExpression p2) { RightSide = new TruthyFilterSubExpression(p2); } else if (RightSide is ArrayAccessFilterSubExpression a2) { RightSide = new TruthyFilterSubExpression(a2); } else { RightSide.ReplaceTruthyExpressions(); } }