code: @CommandDescList({
  		@CommandDesc(longName = "bibliography",
  				description = "generate a bibliography",
  				command = BibliographyCommand.class),
  		@CommandDesc(longName = "citation",
  				description = "generate citations",
  				command = CitationCommand.class),
  		@CommandDesc(longName = "list",
  				description = "display sorted list of available citation IDs",
  				command = ListCommand.class),
  		@CommandDesc(longName = "lint",
  				description = "validate citation items",
  				command = LintCommand.class),
  		@CommandDesc(longName = "json",
  				description = "convert input bibliography to JSON",
  				command = JsonCommand.class),
  		@CommandDesc(longName = "mendeley",
  				description = "connect to Mendeley Web",
  				command = MendeleyCommand.class),
  		@CommandDesc(longName = "zotero",
  				description = "connect to Zotero",
  				command = ZoteroCommand.class),
  		@CommandDesc(longName = "shell",
  				description = "run citeproc-java in interactive mode",
  				command = ShellCommand.class),
  		@CommandDesc(longName = "help",
  				description = "display help for a given command",
  				command = HelpCommand.class)
  	})
  	public void setCommand(AbstractCSLToolCommand command) {
  		if (command instanceof ProviderCommand) {
  			this.command = new InputFileCommand((ProviderCommand)command);
  		} else {
  			this.command = command;
  		}
  	}
docs: Sets the command to execute
  @param command the command