/**
  * Return true iff we represent the same query as o
  *
  * @param o another object
  * @return true iff o is a DisjunctionMaxQuery with the same boost and the same subqueries, in the
  *     same order, as us
  */
 @Override
 public boolean equals(Object o) {
   if (!(o instanceof DisjunctionMaxQuery)) return false;
   DisjunctionMaxQuery other = (DisjunctionMaxQuery) o;
   return this.getBoost() == other.getBoost()
       && this.tieBreakerMultiplier == other.tieBreakerMultiplier
       && this.disjuncts.equals(other.disjuncts);
 }