boolean (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; }