private TableFormatterFactory createTableFormatterFactory( String parameterName, Table tableAnnotation ) {
        Class<? extends TableFormatterFactory> formatterFactoryClass = tableAnnotation.formatter();

        try {
            return ReflectionUtil.newInstance( formatterFactoryClass );
        } catch( Exception e ) {
            throw new JGivenWrongUsageException(
                "Could not create an instance of " + formatterFactoryClass.getName()
                        + " which was specified at the @Table annotation for parameter '" + parameterName
                        + "'. Most likely this was due to a missing default constructor",
                TableFormatterFactory.class, e );
        }
    }
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