@Override
  public boolean equals(Object obj) {
    if (obj == this) {
      return true;
    }
    if (obj instanceof AndFilter<?>) {
      AndFilter<?> them = (AndFilter<?>)obj;
      return (base.equals(them.base) && refiner.equals(them.refiner)) ||
             (refiner.equals(them.base) && base.equals(them.refiner));
    }

    return false;
  }
@Override
  public boolean equals(Object obj)