CounterSet extends CounterFactory { @Override public String toString() { return MoreObjects.toStringHelper(this).add("counters", counters.values()).toString(); }  Counter<?, ?> getExistingCounter(CounterName name); @Deprecated Counter<?, ?> getExistingCounter(String name); long size(); List<UpdateT> extractUpdates(
      boolean delta, CounterUpdateExtractor<UpdateT> extractors); List<UpdateT> extractModifiedDeltaUpdates(
      CounterUpdateExtractor<UpdateT> extractors); @Override String toString();  }
@Test public void testAddOrReuseWithIncompatibleTypesThrowsException() { Counter<?, ?> c1 = counterSet.longSum(name1); thrown.expect(IllegalArgumentException.class); thrown.expectMessage(c1.toString()); thrown.expectMessage(new CounterFactory().doubleSum(name1).toString()); thrown.expectMessage(counterSet.toString()); counterSet.doubleSum(name1); }