@Override
  public Map<String, Set<Integer>> brokerIdsByBrokerSetId(ClusterModel clusterModel) throws BrokerSetResolutionException {
    Map<String, Set<Integer>> brokerIdsByBrokerSetId;
    try {
      brokerIdsByBrokerSetId = loadBrokerSetData();
    } catch (IOException e) {
      throw new BrokerSetResolutionException(e.getMessage());
    }

    return _brokerSetAssignmentPolicy.assignBrokerSetsForUnresolvedBrokers(clusterModel, brokerIdsByBrokerSetId);
  }
@Test
  public void testParseBrokerSetFile() throws BrokerSetResolutionException {
    BrokerSetResolver brokerSetResolver = getBrokerSetResolver("testBrokerSets.json", this.getClass());
    final Map<String, Set<Integer>> brokerSets = brokerSetResolver.brokerIdsByBrokerSetId(
        BrokerSetResolutionHelper.getRackIdByBrokerIdMapping(DeterministicCluster.brokerSetSatisfiable1()));

    assertNotNull(brokerSets);

    assertTrue(brokerSets.containsKey("Blue"));
    assertTrue(brokerSets.containsKey("Green"));

    assertEquals(Set.of(0, 1, 2), brokerSets.get("Blue"));
    assertEquals(Set.of(3, 4, 5), brokerSets.get("Green"));
  }