docs: public ArgumentsWriter getArgumentsWriter(Object[] arguments) {
  		Params.notNullOrEmpty(arguments, "Arguments");
  
  		int streams = 0;
  		int documents = 0;
  		for (Object argument : arguments) {
  			if (argument instanceof StreamHandler) {
  				++streams;
  			}
  			if (argument instanceof Document) {
  				++documents;
  			}
  		}
  
  		if (arguments.length == 1) {
  			if (documents != 0) {
  				return new XmlArgumentsWriter();
  			}
  			if (streams != 0) {
  				return new StreamArgumentsWriter();
  			}
  		}
  		if (documents != 0) {
  			return new MixedArgumentsWriter();
  		}
  		if (streams != 0) {
  			return new MixedArgumentsWriter();
  		}
  
  		return new JsonArgumentsWriter();
  	}