boolean (Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; TwoKeysFMap<?, ?> map = (TwoKeysFMap<?, ?>)o; return myKey1.equals(map.myKey1) && myKey2.equals(map.myKey2) && myValue1.equals(map.myValue1) && myValue2.equals(map.myValue2) || myKey1.equals(map.myKey2) && myKey2.equals(map.myKey1) && myValue1.equals(map.myValue2) && myValue2.equals(map.myValue1); }