@Override
  public void updateNewQuotaResources(Collection<Account> accounts) {
    Collection<QuotaResource> quotaResources = QuotaUtils.getQuotaResourcesFromAccounts(accounts);
    synchronized (this) {
      quotaResources.forEach(quotaResource -> {
        cuQuota.putIfAbsent(quotaResource.getResourceId(),
            new CapacityUnit(DEFAULT_RCU_FOR_NEW_RESOURCE, DEFAULT_WCU_FOR_NEW_RESOURCE));
        cuUsage.putIfAbsent(quotaResource.getResourceId(),
            new CapacityUnit(DEFAULT_RCU_FOR_NEW_RESOURCE, DEFAULT_WCU_FOR_NEW_RESOURCE));
      });
      quotaMetrics.createMetricsForQuotaResources(
          quotaResources.stream().map(QuotaResource::getResourceId).collect(Collectors.toList()));
    }
  }
Constructor for {@link AmbryCUQuotaSource}.
@param quotaConfig {@link QuotaConfig} object.
@param accountService {@link AccountService} object.
@param quotaMetrics {@link QuotaMetrics} object.
@param routerConfig {@link RouterConfig} object.
@throws IOException in case of any exception.
ambry-quota/src/main/java/com/github/ambry/quota/capacityunit/AmbryCUQuotaSource.java