public void removeState(GElementFAState s) { machine.removeState(s.state); removeElement(s); // Remove any other link which is using the state s ListIterator e = elements.listIterator(); while (e.hasNext()) { GElement element = (GElement) e.next(); if (element.getClass().equals(GLink.class)) { GLink link = (GLink) element; if (link.source == s || link.target == s) { removeElement(link); e = elements.listIterator(); } } } }