code: public static void main(final String[] args) {
          Switch about = new Switch("a", "about", "display about message");
          Switch help = new Switch("h", "help", "display help message");
          
          IntegerArgument alleleCutoff = new IntegerArgument("c", "allele-cutoff", "allele cutoff value", false);
          StringArgument imgtHlaDb     = new StringArgument("d", "imgt-db-version", "imgt hla database version", false);
          FileArgument inputBlastFile  = new FileArgument("i", "input-blast-file", "input blast file, default stdin", false);
          FileArgument inputFastaFile  = new FileArgument("f", "input-fasta-file", "input fastq file, default stdin", false);
          FileArgument outputFile      = new FileArgument("o", "output-file", "output file, default stdout", false);
          
          ArgumentList arguments  = new ArgumentList(about, help, inputBlastFile, inputFastaFile, outputFile, imgtHlaDb);
          CommandLine commandLine = new CommandLine(args);
  
          ExtractBlast extractBlast = null;
          try
          {
              CommandLineParser.parse(commandLine, arguments);
              if (about.wasFound()) {
                  About.about(System.out);
                  System.exit(0);
              }
              if (help.wasFound()) {
                  Usage.usage(USAGE, null, commandLine, arguments, System.out);
                  System.exit(0);
              }
  
              int cutoff   = alleleCutoff.getValue() == null ? 10    : alleleCutoff.getValue();
              String imgt  =  imgtHlaDb.getValue()   == null ? "N/A" : imgtHlaDb.getValue(); 
              extractBlast = new ExtractBlast(inputBlastFile.getValue(),inputFastaFile.getValue(),outputFile.getValue(),cutoff,imgt);
          }
          catch (CommandLineParseException | IllegalArgumentException e) {
              Usage.usage(USAGE, e, commandLine, arguments, System.err);
              System.exit(-1);
          }
          try {
              System.exit(extractBlast.call());
          }
          catch (Exception e) {
              e.printStackTrace();
              System.exit(1);
          }
      }
docs: Main.
  
  @param args command line args