@Override
  public @NotNull DfaMemoryStateImpl createClosureState() {
    DfaMemoryStateImpl copy = createCopy();
    copy.flushFields(new QualifierStatusMap(null, true));
    copy.emptyStack();
    for (DfaValue value : getFactory().getValues().toArray(DfaValue.EMPTY_ARRAY)) {
      if (value instanceof DfaVariableValue var) {
        DfType type = copy.getDfType(var);
        DfType newType = type.correctForClosure();
        if (newType != type) {
          copy.recordVariableType(var, newType);
        }
      }
    }
    return copy;
  }
@Override
  public @NotNull DfaMemoryStateImpl createClosureState()