code: public static Result parse(String[] args,
  			Collection<Class<? extends Command>> excluded)
  			throws IntrospectionException, InvalidOptionException {
  		List<Class<? extends Command>> classes = new ArrayList<>();
  		return getCommandClass(args, 0, classes, new HashSet<>(excluded));
  	}
docs: Parses arguments of a shell command line
  @param args the arguments to parse
  @param excluded a collection of commands that should not be parsed
  @return the parser result
  @throws IntrospectionException if a {@link de.undercouch.citeproc.tool.CSLToolCommand}
  could not be introspected
  @throws InvalidOptionException if the command line contains an
  option (only commands are allowed in the interactive shell)