@Test
public void testKeyedDistribution()
{

    KeyedDistribution keyedDistribution = reportCollectionFactory.createReportCollection(KeyedDistribution.class);
    SomeObject someObject = keyedDistribution.add("value", false);
    ArgumentCaptor<String> stringCaptor = ArgumentCaptor.forClass(String.class);
    ArgumentCaptor<SomeObject> reportCaptor = ArgumentCaptor.forClass(SomeObject.class);
    verify(reportExporter).export(reportCaptor.capture(), eq(false), stringCaptor.capture(), tagCaptor.capture());
    assertEquals(stringCaptor.getValue(), "KeyedDistribution.Add");
    assertEquals(tagCaptor.getValue(), ImmutableMap.of("foo", "value", "bar", "false"));
    assertSame(reportCaptor.getValue(), someObject);
}