public CommandOptions Process(string[] args) { var options = new CommandOptions(); var parser = new Parser(); if (!parser.ParseArguments(args, options)) { throw new InvalidOperationException(options.GetUsage()); } return options; }