### Question:
RuntimeInstrument extends Instrument { @Override public boolean isBenchmarkMethod(Method method) { return method.isAnnotationPresent(Benchmark.class) || BenchmarkMethods.isTimeMethod(method) || method.isAnnotationPresent(Macrobenchmark.class); } @Inject  RuntimeInstrument(@NanoTimeGranularity ShortDuration nanoTimeGranularity,
      @Stdout PrintWriter stdout, @Stderr PrintWriter stderr); @Override boolean isBenchmarkMethod(Method method); @Override Instrumentation createInstrumentation(Method benchmarkMethod);  }### Answer:
@Test public void isBenchmarkMethod() { assertEquals( ImmutableSet.of("macrobenchmark", "microbenchmark", "picobenchmark", "integerParam"), FluentIterable.from(Arrays.asList(RuntimeBenchmark.class.getDeclaredMethods())) .filter(new Predicate<Method>() { @Override public boolean apply(Method input) { return instrument.isBenchmarkMethod(input); } }) .transform(new Function<Method, String>() { @Override public String apply(Method input) { return input.getName(); } }) .toSet()); }