@SuppressWarnings("AccessStaticViaInstance")
    private static Options createOptions() {
        Options options = new Options();

        options.addOption(Option.builder("h")
                .hasArg(false)
                .desc("Show this syntax page.")
                .longOpt(HELP_OPTION)
                .build());

        options.addOption(Option.builder("i")
                .required()
                .hasArg(true)
                .desc("Input file")
                .longOpt(INPUT_OPTION)
                .build());

        options.addOption(Option.builder("o")
                .required()
                .hasArg(true)
                .desc("Output file")
                .longOpt(OUTPUT_OPTION)
                .build());

        options.addOption(Option.builder("f")
                .required()
                .hasArg(true)
                .desc("Field to analyze")
                .longOpt(FIELD_OPTION)
                .build());

        options.addOption(Option.builder("l")
                .required()
                .hasArg(true)
                .desc("Language tag for output file")
                .longOpt(LANGUAGE_OPTION)
                .build());

        options.addOption(Option.builder("zst")
                .hasArg(true)
                .desc("Use Zstandard compression")
                .longOpt(ZST_COMPRESSION)
                .build());

        return options;
    }
This class is responsible for parsing the command line arguments and print the help page.

@author MariusArhaug
vespaclient-java/src/main/java/com/yahoo/vespasignificance/CommandLineOptions.java