class AnnotationDefinitionFactory {

    public List<Set<ParameterMdc>> buildParameterMdcs(Method method) {
        return annotationExtractor.getParametersMdcs(method).stream()
                .map(mdcs -> unmodifiableSet(mdcs.stream().map(ParameterMdcFactory::newInstance).collect(toSet())))
                .collect(toList());
    }

    public  AnnotationDefinitionFactory(PrinterResolver printerResolver);

}