public ClientParameters parseCommandLineArguments(String[] args) throws IllegalArgumentException {
        try {
            CommandLineParser clp = new DefaultParser();
            CommandLine cl = clp.parse(options, args);
            ClientParameters.Builder builder = new ClientParameters.Builder();

            builder.setHelp(cl.hasOption(HELP_OPTION));
            builder.setInputFile(cl.getOptionValue(INPUT_OPTION));
            builder.setOutputFile(cl.getOptionValue(OUTPUT_OPTION));
            builder.setField(cl.getOptionValue(FIELD_OPTION));
            builder.setLanguage(cl.getOptionValue(LANGUAGE_OPTION));
            builder.setZstCompression(cl.hasOption(ZST_COMPRESSION) ? cl.getOptionValue(ZST_COMPRESSION) : "true");

            return builder.build();
        } catch (ParseException e) {
            throw new IllegalArgumentException("Failed to parse command line arguments: " + e.getMessage());
        }
    }
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