public List<ObjectFormatter<?>> getFormatter( Class<?>[] parameterTypes, List<String> parameterNames,
            Annotation[][] parameterAnnotations ) {
        List<ObjectFormatter<?>> res = Lists.newArrayList();
        for( int i = 0; i < parameterTypes.length; i++ ) {
            Annotation[] annotations = parameterAnnotations[i];
            if( !AnnotationUtil.isHidden( annotations ) ) {
                String parameterName = i < parameterNames.size() ? parameterNames.get( i ) : "param" + i;
                res.add( this.getFormatting( parameterTypes[i], parameterName, annotations ) );
            }
        }
        return res;
    }
Recursively searches for formatting annotations.

@param visitedTypes used to prevent an endless loop
@param parameterName
jgiven-core/src/main/java/com/tngtech/jgiven/impl/format/ParameterFormattingUtil.java