/// <summary>
 /// source: https://stackoverflow.com/a/263416
 /// </summary>
 /// <returns></returns>
 public override int GetHashCode()
 {
     unchecked
     {
         int hash = 17;
         hash = hash * 23 + State1.GetHashCode();
         hash = hash * 23 + StackSymbol.GetHashCode();
         hash = hash * 23 + State2.GetHashCode();
         return(hash);
     }
 }