code: public static Options create(String name) {
  		synchronized (SINGLETONS) {
  			if (SINGLETONS.containsKey(name)) {
  				return SINGLETONS.get(name);
  			}
  
  			Options options = new Options();
  			List<String> lines = CommanderUtil.execute(name);
  			for (String line : lines) {
  				if (LOGGER.isDebugEnabled()) {
  					LOGGER.debug(line);
  				}
  				if (!line.startsWith("-")) {
  					continue;
  				}
  				int indexOfDesc = line.indexOf(":");
  				String opts[] = line.substring(0, indexOfDesc).trim().split(",");
  				String desc = line.substring(indexOfDesc + 1).trim();
  				options.addOption(new Option(opts[0].trim().substring(1), opts[1].trim().substring(2), true, desc));
  			}
  			SINGLETONS.put(name, options);
  			for (String opt : NO_VALUE_OPTIONS) {
  				Option option = options.getOption(opt);
  				if (option != null) {
  					option.setArgs(0);
  				}
  			}
  			return options;
  		}
  	}
docs: load supported options from command output. then modify some options
  manually. step 1: launch raspistill command to load supported options step 2:
  configurate zero long options
  
  @param name
  raspistill raspivid ... raspberrypi camera command line name