docs: @SuppressWarnings("static-access")
  	private static void initOptions() {
  
  		List<String> actions = new ArrayList<>(KNOWN_ACTIONS.keySet());
  		Collections.sort(actions);
  		Option action = OptionBuilder
  				.hasArg()
  				.withArgName("action")
  				.withDescription(
  						"define the action that should be performed; avaible actions: "
  								+ actions).withLongOpt(OPTION_ACTION)
  				.create(CMD_OPTION_ACTION);
  
  		Option destination = OptionBuilder.withArgName("path").hasArg()
  				.withDescription("place the output into the file at <path>")
  				.withLongOpt(OPTION_OUTPUT_DESTINATION)
  				.create(CMD_OPTION_OUTPUT_DESTINATION);
  
  		Option dumplocation = OptionBuilder
  				.hasArg()
  				.withArgName("path")
  				.withDescription(
  						"set the directory where downloaded dump files are stored")
  				.withLongOpt(OPTION_DUMP_LOCATION)
  				.create(CMD_OPTION_DUMP_LOCATION);
  
  		Option config = OptionBuilder
  				.hasArg()
  				.withArgName("file")
  				.withDescription(
  						"set a config file; use this to define multiple actions for a single run")
  				.withLongOpt(OPTION_CONFIG_FILE).create(CMD_OPTION_CONFIG_FILE);
  
  		Option rdfdump = OptionBuilder
  				.hasArgs()
  				.withArgName("task")
  				.withDescription(
  						"specify which data to include in RDF dump (use with action \"rdf\"); run with options \"-a rdf -n\" for help")
  				.withLongOpt(OPTION_OUTPUT_RDF_TYPE).create();
  
  		Option filterLanguages = OptionBuilder
  				.hasArgs()
  				.withArgName("languages")
  				.withDescription(
  						"specifies a list of language codes; if given, only terms in languages in this list will be processed; the value \"-\" denotes the empty list (no terms are processed)")
  				.withLongOpt(OPTION_FILTER_LANGUAGES).create();
  
  		Option filterSites = OptionBuilder
  				.hasArgs()
  				.withArgName("sites")
  				.withDescription(
  						"specifies a list of site keys; if given, only site links to sites in this list will be processed; the value \"-\" denotes the empty list (no site links are processed)")
  				.withLongOpt(OPTION_FILTER_SITES).create();
  
  		Option filterProperties = OptionBuilder
  				.hasArgs()
  				.withArgName("ids")
  				.withDescription(
  						"specifies a list of property ids; if given, only statements for properties in this list will be processed; the value \"-\" denotes the empty list (no statements are processed)")
  				.withLongOpt(OPTION_FILTER_PROPERTIES).create();
  
  		Option compressionExtention = OptionBuilder
  				.hasArg()
  				.withArgName("type")
  				.withDescription(
  						"define a compression format to be used for the output; possible values: "
  								+ DumpProcessingOutputAction.COMPRESS_GZIP
  								+ ", "
  								+ DumpProcessingOutputAction.COMPRESS_BZ2)
  				.withLongOpt(OPTION_OUTPUT_COMPRESSION)
  				.create(CMD_OPTION_OUTPUT_COMPRESSION);
  
  		Option report = OptionBuilder
  				.hasArg()
  				.withArgName("path")
  				.withDescription(
  						"specifies a path to print a final report after dump generations")
  				.withLongOpt(OPTION_CREATE_REPORT)
  				.create(CMD_OPTION_CREATE_REPORT);
  
  		Option localDump = OptionBuilder
  				.hasArg()
  				.withArgName("path")
  				.withDescription(
  						"select a dump file for processing; if omitted, then the latest dump from Wikidata will be used (and possibly downloaded)")
  				.withLongOpt(OPTION_LOCAL_DUMPFILE)
  				.create(CMD_OPTION_LOCAL_DUMPFILE);
  
  		options.addOption(config);
  		options.addOption(action);
  		options.addOption(
  				CMD_OPTION_QUIET,
  				OPTION_QUIET,
  				false,
  				"perform all actions quietly, without printing status messages to the console; errors/warnings are still printed to stderr");
  		options.addOption(destination);
  		options.addOption(dumplocation);
  		options.addOption(filterLanguages);
  		options.addOption(filterSites);
  		options.addOption(filterProperties);
  		options.addOption(compressionExtention);
  		options.addOption(report);
  		options.addOption(localDump);
  		options.addOption(rdfdump);
  		options.addOption(CMD_OPTION_OFFLINE_MODE, OPTION_OFFLINE_MODE, false,
  				"execute all operations in offline mode, especially do not download new dumps");
  		options.addOption(CMD_OPTION_HELP, OPTION_HELP, false,
  				"print this message");
  
  		options.addOption(CMD_OPTION_OUTPUT_STDOUT, OPTION_OUTPUT_STDOUT,
  				false, "write output to stdout");
  	}