void () { super.configureLayoutCache(); JTree tree = getTree(); if (tree != null && null == ReflectionUtil.getField(BasicTreeUI.class, this, null, "componentListener")) { ComponentListener listener = createComponentListener(); ComponentAdapter adapter = new ComponentAdapter() { @Override public void componentMoved(ComponentEvent event) { AbstractLayoutCache cache = treeState; // TODO: treeState ??? if (cache != null && tree.isLargeModel() && is("ide.tree.experimental.preferred.width")) { listener.componentMoved(event); } } }; ReflectionUtil.setField(BasicTreeUI.class, this, null, "componentListener", adapter); tree.addComponentListener(adapter); } }