concept G22Network > ConceptWithChangeListeners { settableWithVar S description; Cl elements = syncL(); settableWithVar int magneticDistance; toString { ret or2(description, super.toString()); } void doMagneticConnections { deleteMagneticConnections(); } void deleteMagneticConnections { for (cable : allCables()) if (cable.isAutomatic()) cable.remove(); } Set allCables() { new Set set; for (element : elements) for (port : element.ports()) addIfNotNull(set, port.cable); ret set; } }