public ExprNodeMismatchWarning(int line, ExprNode expected, ExprNode actual, string message = "Expressions differ") { if (expected.Equals(actual)) { throw new ArgumentException("Expected different objects"); } this.Expected = expected; this.Actual = actual; this.Message = message; this.Line = line; }