public override int GetHashCode()
{
int hash = 0x73AB95F3;
hash += this.Left.GetHashCode();
hash += (hash << 3) ^ (hash >> 3);
hash += this.Right.GetHashCode();
hash += (hash << 7) ^ (hash >> 7);
hash += this.Operation.GetHashCode();
hash += (hash << 11) ^ (hash >> 1);
return hash;
}