void (List<? extends XDebuggerTreeNode> inlineWatches, boolean updateManager) { InlineWatchesRootNode rootNode = (InlineWatchesRootNode)myRootNode; List<? extends InlineWatchNode> inlineWatchChildren = rootNode.getInlineWatchChildren(); final int[] minIndex = {Integer.MAX_VALUE}; List<InlineWatchNode> toRemoveInlines = new ArrayList<>(); inlineWatches.forEach((node) -> { int index = inlineWatchChildren.indexOf(node); if (index != -1) { toRemoveInlines.add((InlineWatchNode)node); minIndex[0] = Math.min(minIndex[0], index); } }); rootNode.removeInlineChildren(toRemoveInlines); List<? extends InlineWatchNode> newChildren = rootNode.getInlineWatchChildren(); if (!newChildren.isEmpty()) { InlineWatchNode node = newChildren.get(Math.min(minIndex[0], newChildren.size() - 1)); TreeUtil.selectNode(getTree(), node); } if (updateManager) { getWatchesManager().inlineWatchesRemoved(ContainerUtil.map(toRemoveInlines, node -> node.getWatch()), this); } }