void () { // expanding lots of nodes is a slow operation (and result is not very useful) if (TreeUtil.hasManyNodes(this, 30000)) { return; } TreeUtil.promiseExpand(this, path -> { Object node = path.getLastPathComponent(); if (node instanceof ChangesBrowserNode && !((ChangesBrowserNode<?>)node).shouldExpandByDefault()) { return TreeVisitor.Action.SKIP_CHILDREN; } return TreeVisitor.Action.CONTINUE; }); }