public boolean addSegEnd(SegEnd aSegEnd) { boolean wasAdded = false; if (segEnds.contains(aSegEnd)) { return false; } segEnds.add(aSegEnd); if (aSegEnd.indexOfCanalNetwork(this) != -1) { wasAdded = true; } else { wasAdded = aSegEnd.addCanalNetwork(this); if (!wasAdded) { segEnds.remove(aSegEnd); } } return wasAdded; }
public boolean removeSegEnd(SegEnd aSegEnd) { boolean wasRemoved = false; if (!segEnds.contains(aSegEnd)) { return wasRemoved; } int oldIndex = segEnds.indexOf(aSegEnd); segEnds.remove(oldIndex); if (aSegEnd.indexOfCanalNetwork(this) == -1) { wasRemoved = true; } else { wasRemoved = aSegEnd.removeCanalNetwork(this); if (!wasRemoved) { segEnds.add(oldIndex, aSegEnd); } } return wasRemoved; }