class GroupLogValidator implements AnnotationUsageValidator<Set<T>> {

    @Override
    public void validate(Method method, Set<T> target) throws AnnotationUsageException {
        groupAnnotationsByLogger(method, target).entrySet().stream()
                .filter(entry -> entry.getValue().size() > 1)
                .findFirst()
                .ifPresent(entry -> {
                    throw new AnnotationUsageException(method,
                            format("%s annotations with 'logger = %s' on the method", entry.getValue().size(), entry.getKey()),
                            "Use one annotation per 'logger'");
                });
    }

      GroupLogValidator(Map<String, Set<String>> loggerNames);

}