boolean (Object obj) { if (obj == null) return false; if (obj.getClass() != getClass()) return false; final UnorderedPair other = (UnorderedPair)obj; if (Comparing.equal(other.first, first) && Comparing.equal(other.second, second)) return true; if (Comparing.equal(other.first, second) && Comparing.equal(other.second, first)) return true; return false; }