void () { // look setRootVisible(false); setShowsRootHandles(true); setCellRenderer(new ServiceViewTreeCellRenderer()); ComponentUtil.putClientProperty(this, ANIMATION_IN_RENDERER_ALLOWED, true); // listeners TreeSpeedSearch.installOn(this, true, DISPLAY_NAME_CONVERTER); ServiceViewTreeLinkMouseListener mouseListener = new ServiceViewTreeLinkMouseListener(this); mouseListener.installOn(this); new DoubleClickListener() { @Override protected boolean onDoubleClick(@NotNull MouseEvent e) { TreePath path = getClosestPathForLocation(e.getX(), e.getY()); if (path == null) return false; Object lastComponent = path.getLastPathComponent(); if (lastComponent instanceof LoadingNode) return false; return myTreeModel.isLeaf(lastComponent) && lastComponent instanceof ServiceViewItem && ((ServiceViewItem)lastComponent).getViewDescriptor().handleDoubleClick(e); } }.installOn(this); }