OverloadedTimedMethodBean { @Timed(name = "overloadedTimedMethodWithNoArguments") public void overloadedTimedMethod() { }  @Timed(name = "overloadedTimedMethodWithNoArguments") void overloadedTimedMethod(); @Timed(name = "overloadedTimedMethodWithStringArgument") void overloadedTimedMethod(String string); @Timed(name = "overloadedTimedMethodWithListOfStringArgument") void overloadedTimedMethod(List<String> strings); @Timed(name = "overloadedTimedMethodWithObjectArgument") void overloadedTimedMethod(Object object);  }
@Test @InSequence(2) public void callOverloadedTimedMethodOnce() { Assert.assertTrue("Metrics are not registered correctly", registry.getMetricIDs().containsAll(MetricsUtil.createMetricIDs(absoluteMetricNames()))); bean.overloadedTimedMethod(); bean.overloadedTimedMethod("string"); bean.overloadedTimedMethod(new Object()); bean.overloadedTimedMethod(Arrays.asList("string1", "string2")); assertThat("Timer counts are incorrect", registry.getTimers().values(), hasItem(Matchers.<Timer> hasProperty("count", equalTo(1L)))); }