      // do this now to avoid delayed routing outside of transaction
            link.fromNode.ensureBounds();
            link.toNode.ensureBounds();
            if (link.data.fromSpot) link.fromSpot = link.data.fromSpot;
            if (link.data.toSpot) link.toSpot = link.data.toSpot;
            //if (link.data.points) {
            //  link.points = link.data.points;
            //} else {
            link.updateRoute();
            //}
          }
        }
      }
    }

    diagram.skipsUndoManager 