private void updateLeftTree() {
    final DefaultMutableTreeNode root = (DefaultMutableTreeNode)myLeftTree.getModel().getRoot();
    root.removeAllChildren();

    ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> {
      for (Module module : myModules) {
        if (module.isDisposed()) continue;
        ProgressManager.progress(CodeInsightBundle.message("update.module.tree.progress.text", module.getName()));

        DefaultMutableTreeNode moduleNode = new DefaultMutableTreeNode(new MyUserObject(isInCycle(module), module));
        root.add(moduleNode);
        for (Module dependency : getModuleDependencies(module)) {
          moduleNode.add(new DefaultMutableTreeNode(new MyUserObject(isInCycle(dependency), dependency)));
        }
      }
    }, CodeInsightBundle.message("update.module.tree.progress.title"), true, myProject);

    TreeUtil.sortRecursively(root, NODE_COMPARATOR);
    ((DefaultTreeModel)myLeftTree.getModel()).reload();
    TreeUtil.promiseSelectFirst(myLeftTree);
  }
private void updateLeftTree()