QuotaRecommendation recommendBasedOnQuotaAndUsage(Pair<Long, Long> pair) {
    long quotaValue = pair.getFirst();
    long currentUsage = pair.getSecond();
    if (quotaValue == -1L) {
      // There is no quota set for the given account/container
      if (config.shouldRejectRequestWithoutQuota && config.shouldThrottle) {
        return REJECT_DUE_TO_MISSING_QUOTA_RECOMMENDATION;
      } else {
        // If we don't reject requests with missing storage quota, then just ignore it.
        return IGNORE_STORAGE_QUOTA_RECOMMENDATION;
      }
    }
    QuotaAction quotaAction = QuotaAction.ALLOW;
    if (config.shouldThrottle && currentUsage >= quotaValue) {
      quotaAction = QuotaAction.REJECT;
    }
    float usagePercentage = currentUsage >= quotaValue ? 100f : ((float) currentUsage) / quotaValue * 100f;
    return new QuotaRecommendation(quotaAction, usagePercentage, QuotaName.STORAGE_IN_GB, NO_RETRY);
  }
Return a {@link QuotaRecommendation} based on the given pair of quota and current usage.
@param pair The {@link Pair} of quota and current usage.
@return A {@link QuotaRecommendation}.
ambry-quota/src/main/java/com/github/ambry/quota/storage/StorageQuotaEnforcer.java