jewelcli/src/main/java/com/lexicalscope/jewel/cli/CliFactory.java
public static <O> Cli<O> createCli(final Class<O> klass) throws InvalidOptionSpecificationException
    {
        return new CliInterfaceImpl<O>(klass);
    }
public static <O> Cli<O> createCli(final Class<O> klass) throws InvalidOptionSpecificationException
    {
        return new CliInterfaceImpl<O>(klass);
    }
Construct a Cli from an annotated interface definition

@param <O>
The type of the interface that will be used to present the
arguments
@param klass
The annotated interface definition

@return A Cli configured to create instance of klass

@throws ArgumentValidationException the arguments do not meet the CLI specification
@throws InvalidOptionSpecificationException the CLI specification is not valid