@Override
  public boolean contains(Object o) {
    if (!(o instanceof DistinctPair dp)) return false;
    EqClass first = dp.getFirst();
    EqClass second = dp.getSecond();
    if (first.isEmpty() || second.isEmpty()) return false;
    DfaVariableValue firstVal = first.getVariable(0);
    DfaVariableValue secondVal = second.getVariable(0);
    int firstIndex = myState.getEqClassIndex(firstVal);
    if (firstIndex == -1) return false;
    int secondIndex = myState.getEqClassIndex(secondVal);
    if (secondIndex == -1) return false;
    long pair = createPair(firstIndex, secondIndex, dp.isOrdered());
    return myData.contains(pair) && decode(pair).equals(dp);
  }
@Override
  public boolean contains(Object o)