boolean (Object obj) { if (obj == this) return true; if (!(obj instanceof DfaMemoryStateImpl that)) return false; if (myCachedHash != null && that.myCachedHash != null && !myCachedHash.equals(that.myCachedHash)) return false; return myEphemeral == that.myEphemeral && myStack.equals(that.myStack) && getNonTrivialEqClasses().equals(that.getNonTrivialEqClasses()) && getDistinctClassPairs().equals(that.getDistinctClassPairs()) && myVariableTypes.equals(that.myVariableTypes); }