code: function refresh(callback) {
      var self = this;
      if (!callback) callback = function(err) { if (err) throw err; };
  
      self.service.config.credentials = self.masterCredentials;
      var operation = self.params.RoleArn ?
        self.service.assumeRole : self.service.getSessionToken;
      operation.call(self.service, function (err, data) {
        if (!err) {
          self.service.credentialsFrom(data, self);
        }
        callback(err);
      });
    }
docs: Refreshes credentials using {AWS.STS.assumeRole} or
  {AWS.STS.getSessionToken}, depending on whether an IAM role ARN was passed
  to the credentials {constructor}.
  
  @callback callback function(err)
  Called when the STS service responds (or fails). When
  this callback is called with no error, it means that the credentials
  information has been loaded into the object (as the `accessKeyId`,
  `secretAccessKey`, and `sessionToken` properties).
  @param err [Error] if an error occurred, this value will be filled
  @see get