@Override public void itemClicked(VisualItem item, MouseEvent e) { Visualization vis = item.getVisualization(); DDGDisplay d = (DDGDisplay) vis.getDisplay(0); // revalidates the display by finding the item with the same position as // the mouse pointer if (revalidated) { String state = collapseExpand(item); if (state.equals(START)) { updateFocusGroup(stepId, item.getVisualization()); vis.run("color"); vis.run("repaint"); } if (state.equals(STEP)) { expandOneLevel(item); updateFocusGroup(startId, item.getVisualization()); vis.run("color"); vis.run("repaint"); } revalidated = false; } else { revalidated = true; VisualItem myItem = d.findItem(e.getPoint()); itemClicked(myItem, e); } }