private void deleteConnections(NodeModel part) { if (part instanceof CompoundModel) { List children = ((CompoundModel) part).getChildren(); for (int i = 0; i < children.size(); i++) deleteConnections((NodeModel) children.get(i)); } sourceConnections.addAll(part.getSourceConnections()); for (int i = 0; i < sourceConnections.size(); i++) { EdgeModel wire = (EdgeModel) sourceConnections.get(i); wire.setHighlight(false); wire.getTarget().removeTargetConnection(wire); wire.getSource().removeSourceConnection(wire); } targetConnections.addAll(part.getTargetConnections()); for (int i = 0; i < targetConnections.size(); i++) { EdgeModel wire = (EdgeModel) targetConnections.get(i); wire.setHighlight(false); wire.getTarget().removeTargetConnection(wire); wire.getSource().removeSourceConnection(wire); } }