public boolean equals(Object o) {
   if (o instanceof ReRankQuery) {
     ReRankQuery rrq = (ReRankQuery) o;
     return (mainQuery.equals(rrq.mainQuery)
         && reRankQuery.equals(rrq.reRankQuery)
         && reRankWeight == rrq.reRankWeight
         && reRankDocs == rrq.reRankDocs
         && getBoost() == rrq.getBoost()
         && scale == rrq.scale);
   }
   return false;
 }
 public ReRankQuery clone() {
   ReRankQuery clonedQuery =
       new ReRankQuery(reRankQuery, reRankDocs, reRankWeight, length, scale);
   clonedQuery.setBoost(getBoost());
   return clonedQuery;
 }