### Question:
ParameterLogsValidator extends GroupLogValidator<Log> { @Override public void validate(Method method, Set<Log> target) throws AnnotationUsageException { super.validate(method, target); target.forEach(log -> parameterLogValidator.validate(method, log)); } ParameterLogsValidator(Map<String, Set<String>> loggerNames,
                                  LogValidator<Log> parameterLogValidator); @Override void validate(Method method, Set<Log> target);  }### Answer:
@Test public void isTransitive() { Map<String, Set<String>> loggerNames = singletonMap("logger", new HashSet<>(asList("logger", ""))); @SuppressWarnings("unchecked") LogValidator<Log> logValidator = (LogValidator<Log>) mock(LogValidator.class); ParameterLogsValidator parameterLogsValidator = new ParameterLogsValidator(loggerNames, logValidator); Log log = synthesizeAnnotation(Log.class); Set<Log> annotations = singleton(log); parameterLogsValidator.validate(method, annotations); verify(logValidator).validate(method, log); }