public Map<String, Integer> releaseHistoryRetentionSizeOverride() {
    String overrideString = getValue("apollo.release-history.retention.size.override");
    Map<String, Integer> releaseHistoryRetentionSizeOverride = Maps.newHashMap();
    if (!Strings.isNullOrEmpty(overrideString)) {
      releaseHistoryRetentionSizeOverride =
          GSON.fromJson(overrideString, releaseHistoryRetentionSizeOverrideTypeReference);
    }
    return releaseHistoryRetentionSizeOverride.entrySet()
        .stream()
        .filter(entry -> entry.getValue() >= 1)
        .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
  }
@Test
  public void testReleaseHistoryRetentionSizeOverride() {
    int someOverrideLimit = 10;
    String overrideValueString = "{'a+b+c+b':10}";
    when(environment.getProperty("apollo.release-history.retention.size.override")).thenReturn(overrideValueString);
    int  overrideValue = bizConfig.releaseHistoryRetentionSizeOverride().get("a+b+c+b");
    assertEquals(someOverrideLimit, overrideValue);

    overrideValueString = "{'a+b+c+b':0,'a+b+d+b':2}";
    when(environment.getProperty("apollo.release-history.retention.size.override")).thenReturn(overrideValueString);
    assertEquals(1, bizConfig.releaseHistoryRetentionSizeOverride().size());
    overrideValue = bizConfig.releaseHistoryRetentionSizeOverride().get("a+b+d+b");
    assertEquals(2, overrideValue);

    overrideValueString = "{}";
    when(environment.getProperty("apollo.release-history.retention.size.override")).thenReturn(overrideValueString);
    assertEquals(0, bizConfig.releaseHistoryRetentionSizeOverride().size());
  }