void () { myTree.setCellRenderer(new NodeRenderer()); myTree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION); myTree.setShowsRootHandles(true); registerPsiListener(myProject, this, this::queueUpdate); myProject.getMessageBus().connect(this).subscribe(UISettingsListener.TOPIC, o -> rebuild()); if (showScrollToFromSourceActions()) { myAutoScrollToSourceHandler.install(myTree); myAutoScrollFromSourceHandler.install(); } TreeUtil.installActions(getTree()); TreeSpeedSearch.installOn(getTree(), false, treePath -> { Object userObject = TreeUtil.getLastUserObject(treePath); return userObject != null ? FileStructurePopup.getSpeedSearchText(userObject) : null; }); addTreeKeyListener(); addTreeMouseListeners(); restoreState(); }