text: public virtual AlibabaCloudCredentials GetCredentials(){try{if (credentials == null){credentials = fetcher.Fetch(maxRetryTimes);}if (credentials.IsExpired()){throw new ClientException("SDK.SessionTokenExpired", "Current session token has expired.");}if (!credentials.WillSoonExpire() || !credentials.ShouldRefresh()){return credentials;}credentials = fetcher.Fetch();return credentials;}catch (ClientException ex){if (ex.ErrorCode.Equals("SDK.SessionTokenExpired") &&ex.ErrorMessage.Equals("Current session token has expired.")){CommonLog.LogException(ex, ex.ErrorCode, ex.ErrorMessage);throw new ClientException(ex.ErrorCode, ex.ErrorMessage);}credentials.SetLastFailedRefreshTime();}return credentials;}