public boolean equals(Object o) {
   if (o instanceof XPathBinaryOpExpr) {
     XPathBinaryOpExpr x = (XPathBinaryOpExpr) o;
     return a.equals(x.a) && b.equals(x.b);
   } else {
     return false;
   }
 }
 public boolean equals(Object o) {
   if (o instanceof XPathConditional) {
     XPathConditional cond = (XPathConditional) o;
     return expr.equals(cond.expr);
   } else {
     return false;
   }
 }