void (DfaMemoryStateImpl other) { ArrayList<DistinctPairSet.DistinctPair> pairs = new ArrayList<>(myDistinctClasses); for (DistinctPairSet.DistinctPair pair : pairs) { EqClass first = pair.getFirst(); EqClass second = pair.getSecond(); RelationType relation = other.getRelation(myFactory.getValue(first.get(0)), myFactory.getValue(second.get(0))); if (relation == null || relation == RelationType.EQ) { myDistinctClasses.remove(pair); } else if (pair.isOrdered() && relation != RelationType.LT) { myDistinctClasses.dropOrder(pair); } } }