private void checkFinished() {
    if (myNode2ParentState.isEmpty() && myNode2State.isEmpty() && myFinished.complete(myTree)) {
      if (myLastVisibleNodeRect != null) {
        if (myTree.getParent() instanceof AntiFlickeringPanel antiFlickeringPanel) {
          antiFlickeringPanel.scrollRectToVisibleAfterFreeze(myLastVisibleNodeRect);
        }
        else {
          myTree.scrollRectToVisible(myLastVisibleNodeRect);
        }
      }
      //dispose(); // do not dispose here, we still need tree listeners for late renderers
    }
  }
private void checkFinished()