/*invoked in swing thread*/ private void selectFrame(StackFrameProxy frame) { synchronized (myFramesList) { final int count = myFramesList.getElementCount(); final Object selectedValue = myFramesList.getSelectedValue(); final DefaultListModel model = myFramesList.getModel(); for (int idx = 0; idx < count; idx++) { final Object elem = model.getElementAt(idx); if (elem instanceof StackFrameDescriptorImpl) { final StackFrameDescriptorImpl item = (StackFrameDescriptorImpl) elem; if (frame.equals(item.getFrameProxy())) { if (!item.equals(selectedValue)) { myFramesList.setSelectedIndex(idx); } return; } } } } }