k(e, oldlink) {
      if (!(oldlink instanceof go.Link)) return;
      var diagram = e.diagram;
      var newnode = diagram.selection.first();
      if (!(newnode instanceof go.Node)) return;
      if (!newnode.isTopLevel) return;
      if (isLoopBack(oldlink)) {
        // can't add nodes into links going back to the "For" node
        diagram.remove(newnode);
        return;
      }

      var fromnode = oldlink.fromNode;
      var tonode = oldlink.toNode;
      if (newnode.category === '') {
        // a