@NotNull private static DfaMemoryStateImpl createClosureState(@NotNull DfaMemoryState memState) { DfaMemoryStateImpl copy = (DfaMemoryStateImpl) memState.createCopy(); copy.flushFields(); Set<DfaVariableValue> vars = new HashSet<DfaVariableValue>(copy.getVariableStates().keySet()); for (DfaVariableValue value : vars) { copy.flushDependencies(value); } copy.emptyStack(); return copy; }