code: @Override
      public KamNode replaceNode(KamNode kamNode, KamNode replacement) {
          final int nodeId = kamNode.getId();
  
          // establish id to replacement node
          idNodeMap.put(nodeId, replacement);
          nodeIdMap.put(replacement, nodeId);
  
          // reconnect network
          Set<KamEdge> egress = nodeSourceMap.remove(kamNode);
          nodeSourceMap.put(replacement, egress);
          Set<KamEdge> ingress = nodeTargetMap.remove(kamNode);
          nodeTargetMap.put(replacement, ingress);
  
          this.hashCode = generateHashCode();
          return replacement;
      }
docs: {@inheritDoc}