code: private synchronized void initializeAllFatClients() {
          updateCoordinatorMetadataWithLatestState();
  
          // get All stores defined in the config file
          Map<String, Properties> storeClientConfigsMap = storeClientConfigs.getAllConfigsMap();
  
          for(StoreDefinition storeDef: this.coordinatorMetadata.getStoresDefs()) {
              String storeName = storeDef.getName();
              // Initialize only those stores defined in the client configs file
              if(storeClientConfigsMap.get(storeName) != null) {
                  initializeFatClient(storeName, storeClientConfigsMap.get(storeName));
              }
          }
      }
docs: Initializes all the Fat clients (1 per store) for the cluster that this
  Coordinator talks to. This is invoked once during startup and then every
  time the Metadata manager detects changes to the cluster and stores
  metadata.
  
  This method is synchronized because we do not want Coordinator Admin
  changes to interfere with Async metadata version manager