docs: function () {
      var self = this;
      var user = Meteor.users.findOne(self.userId, {
        fields: { "services.resume.loginTokens": 1 }
      });
      if (! self.userId || ! user) {
        throw new Meteor.Error("You are not logged in.");
      }
      // Be careful not to generate a new token that has a later
      // expiration than the curren token. Otherwise, a bad guy with a
      // stolen token could use this method to stop his stolen token from
      // ever expiring.
      var currentHashedToken = Accounts._getLoginToken(self.connection.id);
      var currentStampedToken = _.find(
        user.services.resume.loginTokens,
        function (stampedToken) {
          return stampedToken.hashedToken === currentHashedToken;
        }
      );
      if (! currentStampedToken) { // safety belt: this should never happen
        throw new Meteor.Error("Invalid login token");
      }
      var newStampedToken = Accounts._generateStampedLoginToken();
      newStampedToken.when = currentStampedToken.when;
      Accounts._insertLoginToken(self.userId, newStampedToken);
      return loginUser(self, self.userId, newStampedToken);
    }