public ITokenRateLimit GetQueryRateLimit(string query, ITwitterCredentials credentials) { var rateLimits = _rateLimitCache.GetTokenRateLimits(credentials); var queryRateLimit = _rateLimitHelper.GetTokenRateLimitFromQuery(query, rateLimits); if (rateLimits == null || DoesQueryNeedsToRefreshTheCacheInformation(queryRateLimit)) { rateLimits = RefreshCredentialsRateLimits(credentials); queryRateLimit = _rateLimitHelper.GetTokenRateLimitFromQuery(query, rateLimits); } return(queryRateLimit); }