code: public static void main(String[] args) throws Exception {
  
  		final List<String> arguments = new ArrayList<String>(args.length);
  
  		final Settings settings = new Settings();
  		final PartialCmdLineParser parser = new PartialCmdLineParser(settings);
  		int position = 0;
  
  		while (position < args.length) {
  			final int consumed = parser.parseArgument(args, position);
  			if (consumed == 0) {
  				arguments.add(args[position++]);
  			} else {
  				position += consumed;
  			}
  		}
  
  		if (!arguments.contains(JsonixPlugin.OPTION)) {
  			arguments.add(JsonixPlugin.OPTION);
  		}
  
  		if (!arguments.contains("-extension")) {
  			arguments.add("-extension");
  		}
  
  		// TODO
  		arguments.add("-disableXmlSecurity");
  		// TODO
  		System.setProperty("javax.xml.accessExternalSchema", "all");
  		// TODO
  		System.setProperty("javax.xml.accessExternalDTD", "all");
  
  		File targetDirectory = settings.getTargetDirectory();
  
  		if (targetDirectory == null) {
  			targetDirectory = new File(".");
  		}
  
  		if (!targetDirectory.exists()) {
  			targetDirectory.mkdirs();
  		}
  
  		arguments.add("-d");
  		arguments.add(targetDirectory.getAbsolutePath());
  
  		final Options options = new Options();
  
  		options.parseArguments(arguments.toArray(new String[arguments.size()]));
  
  		new JsonixMain(settings, options).execute();
  	}
docs: private final Logger logger = LoggerFactory.getLogger(JsonixMain.class);