text: public AlibabaCloudCredentials getCredentials() throws ClientException {if (credentials == null || credentials.isExpired()) {ecsMetadataServiceFetchCount += 1;int maxRetryTimes = MAX_ECS_METADATA_FETCH_RETRY_TIMES;credentials = fetcher.fetch(maxRetryTimes);} else if (credentials.willSoonExpire() && credentials.shouldRefresh()) {try {ecsMetadataServiceFetchCount += 1;credentials = fetcher.fetch();} catch (ClientException e) {credentials.setLastFailedRefreshTime();}}return credentials;}