protected override CredentialsRefreshState GenerateNewCredentials() { var credentials = UtilityMethods.CreateTemporaryCredentials(); var ic = credentials.GetCredentials(); DateTime expiration; if (expireValue.HasValue) { expiration = expireValue.Value; } else { var now = DateTime.Now; expiration = now + expireOffset; } return(new CredentialsRefreshState(ic, expiration)); }