@Override
  public String toString() {
    return MoreObjects.toStringHelper(this).add("counters", counters.values()).toString();
  }
@Test
  public void testAddOrReuseWithIncompatibleTypesThrowsException() {
    Counter<?, ?> c1 = counterSet.longSum(name1);

    thrown.expect(IllegalArgumentException.class);
    // Should print the existing counter
    thrown.expectMessage(c1.toString());
    // Should print the counter we're trying to create
    thrown.expectMessage(new CounterFactory().doubleSum(name1).toString());
    // Should print the contents of the counter set
    thrown.expectMessage(counterSet.toString());
    counterSet.doubleSum(name1);
  }