code: function(token, opt, callback) {
  
          function onAnimationEnd(vToken, callback) {
              return function() {
                  vToken.remove();
                  if (typeof callback === 'function') {
                      callback();
                  }
              };
          }
  
          var duration, isReversed, selector;
          if (joint.util.isObject(opt)) {
              duration = opt.duration;
              isReversed = (opt.direction === 'reverse');
              selector = opt.connection;
          } else {
              // Backwards compatibility
              duration = opt;
              isReversed = false;
              selector = null;
          }
  
          duration = duration || 1000;
  
          var animationAttributes = {
              dur: duration + 'ms',
              repeatCount: 1,
              calcMode: 'linear',
              fill: 'freeze'
          };
  
          if (isReversed) {
              animationAttributes.keyPoints = '1;0';
              animationAttributes.keyTimes = '0;1';
          }
  
          var vToken = V(token);
          var connection;
          if (typeof selector === 'string') {
              // Use custom connection path.
              connection = this.findBySelector(selector, this.el, this.selectors)[0];
          } else {
              // Select connection path automatically.
              var cache = this._V;
              connection = (cache.connection) ? cache.connection.node : this.el.querySelector('path');
          }
  
          if (!(connection instanceof SVGPathElement)) {
              throw new Error('dia.LinkView: token animation requires a valid connection path.');
          }
  
          vToken
              .appendTo(this.paper.viewport)
              .animateAlongPath(animationAttributes, connection);
  
          setTimeout(onAnimationEnd(vToken, callback), duration);
      }
docs: Send a token (an SVG element, usually a circle) along the connection path. Example: `link.findView(paper).sendToken(V('circle', { r: 7, fill: 'green' }).node)` `opt.duration` is optional and is a time in milliseconds that the token travels from the source to the target of the link. Default is `1000`. `opt.directon` is optional and it determines whether the token goes from source to target or other way round (`reverse`) `opt.connection` is an optional selector to the connection path. `callback` is optional and is a function to be called once the token reaches the target.