public static Edu.Stanford.Nlp.Naturalli.OperatorSpec Merge(Edu.Stanford.Nlp.Naturalli.OperatorSpec x, Edu.Stanford.Nlp.Naturalli.OperatorSpec y)
 {
     System.Diagnostics.Debug.Assert((x.quantifierBegin == y.quantifierBegin));
     System.Diagnostics.Debug.Assert((x.quantifierEnd == y.quantifierEnd));
     System.Diagnostics.Debug.Assert((x.instance == y.instance));
     return(new Edu.Stanford.Nlp.Naturalli.OperatorSpec(x.instance, Math.Min(x.quantifierBegin, y.quantifierBegin), Math.Min(x.quantifierEnd, y.quantifierEnd), Math.Min(x.subjectBegin, y.subjectBegin), Math.Max(x.subjectEnd, y.subjectEnd), Math.Min
                                                            (x.objectBegin, y.objectBegin), Math.Max(x.objectEnd, y.objectEnd)));
 }
 public override bool Equals(object o)
 {
     if (this == o)
     {
         return(true);
     }
     if (!(o is Edu.Stanford.Nlp.Naturalli.OperatorSpec))
     {
         return(false);
     }
     Edu.Stanford.Nlp.Naturalli.OperatorSpec that = (Edu.Stanford.Nlp.Naturalli.OperatorSpec)o;
     if (objectBegin != that.objectBegin)
     {
         return(false);
     }
     if (objectEnd != that.objectEnd)
     {
         return(false);
     }
     if (quantifierBegin != that.quantifierBegin)
     {
         return(false);
     }
     if (quantifierEnd != that.quantifierEnd)
     {
         return(false);
     }
     if (quantifierHead != that.quantifierHead)
     {
         return(false);
     }
     if (subjectBegin != that.subjectBegin)
     {
         return(false);
     }
     if (subjectEnd != that.subjectEnd)
     {
         return(false);
     }
     if (instance != that.instance)
     {
         return(false);
     }
     return(true);
 }