public static @Nullable DebuggerDfaRunner createDfaRunner(@NotNull StackFrameProxyEx proxy,
                                                            @NotNull SmartPsiElementPointer<PsiElement> pointer) {
    DebuggerDfaRunner.Pupa pupa = makePupa(proxy, pointer);
    if (pupa == null) return null;
    return ReadAction.nonBlocking(pupa::transform).withDocumentsCommitted(pointer.getProject()).executeSynchronously();
  }
public static @Nullable DebuggerDfaRunner createDfaRunner(@NotNull StackFrameProxyEx proxy,
                                                            @NotNull SmartPsiElementPointer<PsiElement> pointer)