void (Project project) { final TreePath[] paths = myTreeView.getSelectionPaths(); if (paths == null) return; final List<BreakpointItem> breakpoints = getSelectedBreakpoints(true); for (TreePath path : paths) { Object node = path.getLastPathComponent(); if (node instanceof BreakpointItemNode) { final BreakpointItem item = ((BreakpointItemNode)node).getBreakpointItem(); if (!item.allowedToRemove()) { TreeUtil.unselectPath(myTreeView, path); breakpoints.remove(item); } } } if (breakpoints.isEmpty()) return; TreeUtil.removeSelected(myTreeView); for (BreakpointItem breakpoint : breakpoints) { breakpoint.removed(project); } }