docs: function OauthAuthMethods(models) {
        this.models = models;
        this.exchangeRefreshTokenForAccessToken = bind(this.exchangeRefreshTokenForAccessToken, this);
        this.exchangeAuthorizationCodeForAccessToken = bind(this.exchangeAuthorizationCodeForAccessToken, this);
        this.createTokenForUserId = bind(this.createTokenForUserId, this);
        this.createOrReuseTokenForUserId = bind(this.createOrReuseTokenForUserId, this);
        this.createAccessGrant = bind(this.createAccessGrant, this);
        this.validate = bind(this.validate, this);
        this.appForClientId = bind(this.appForClientId, this);
        this.currentDateAndSeconds = bind(this.currentDateAndSeconds, this);
        Hoek.assert(this.models, i18n.assertModelsRequired);
        Hoek.assert(this.models.OauthApp, i18n.assertOauthAppInModels);
        Hoek.assert(this.models.OauthAccessToken, i18n.assertOauthAccessTokenInModels);
        Hoek.assert(this.models.OauthAccessGrant, i18n.assertOauthAccessGrantInModels);
      }