public UpdateInfoTree(
      @NotNull ContentManager contentManager,
      @NotNull Project project,
      UpdatedFiles updatedFiles,
      String rootName,
      ActionInfo actionInfo) {
    super(contentManager, "reference.toolWindows.versionControl");
    myActionInfo = actionInfo;

    myFileStatusListener =
        new FileStatusListener() {
          public void fileStatusesChanged() {
            myTree.repaint();
          }

          public void fileStatusChanged(@NotNull VirtualFile virtualFile) {
            myTree.repaint();
          }
        };

    myProject = project;
    myUpdatedFiles = updatedFiles;
    myRootName = rootName;

    myFileStatusManager = FileStatusManager.getInstance(myProject);
    myFileStatusManager.addFileStatusListener(myFileStatusListener);
    createTree();
    init();
    myTreeExpander = new DefaultTreeExpander(myTree);
    myTreeIterable = new MyTreeIterable();
  }
 public void dispose() {
   super.dispose();
   Disposer.dispose(myRoot);
   if (myFileStatusListener != null) {
     myFileStatusManager.removeFileStatusListener(myFileStatusListener);
     myFileStatusListener = null;
   }
 }