public override bool Equals(object other) { if (null == LeftNode || null == RightNode) { return(false); } var otherNode = other as BinaryExpressionNode; if (null == otherNode) { return(false); } return(LeftNode.Equals(otherNode.LeftNode) && Optr.Equals(otherNode.Optr) && RightNode.Equals(otherNode.RightNode)); }