ReflectionExecutionImpl extends AbstractExecution<T> { @Override public String toString() { return getType().getSimpleName() + "#" + method.getName() + "(" + Stream.of(method.getParameters()) .map(p -> p.getType().getSimpleName().substring(0, 1)) .collect(joining(", ")) + ")"; } ReflectionExecutionImpl(
        final Class<T> component,
        final State state,
        final Set<Dependency> dependencies,
        final Method method,
        final InjectorProxy injectorProxy
    ); @Override String getName(); Method getMethod(); @Override boolean invoke(T component, ClassMapper classMapper); @Override String toString();  }
@Test void testToString() { final String toString = instance.toString(); System.out.println("toString = " + toString); assertTrue(toString.contains("Foo")); assertTrue(toString.contains("inc()")); }