code: public static void write(@Nonnull final Data data, @Nonnull final OutputStream outputStream) throws ParserConfigurationException,
  			TransformerException {
  		Check.notNull(data, "data");
  		Check.notNull(outputStream, "outputStream");
  
  		final Document doc = newDocumentBuilder().newDocument();
  
  		// root element
  		final Element uasdataElement = doc.createElement(Tag.UASDATA);
  		doc.appendChild(uasdataElement);
  
  		// description element
  		uasdataElement.appendChild(createDescription(data, doc));
  
  		// data element
  		final Element dataElement = doc.createElement(Tag.DATA);
  		uasdataElement.appendChild(dataElement);
  
  		dataElement.appendChild(createRobots(data, doc));
  		dataElement.appendChild(createOperatingSystems(data, doc));
  		dataElement.appendChild(createBrowsers(data, doc));
  		dataElement.appendChild(createBrowserTypes(data, doc));
  		dataElement.appendChild(createBrowserPatterns(data, doc));
  		dataElement.appendChild(createBrowserOperatingSystemMappings(data, doc));
  		dataElement.appendChild(createOperatingSystemPatterns(data, doc));
  		dataElement.appendChild(createDevices(data, doc));
  		dataElement.appendChild(createDevicePatterns(data, doc));
  
  		// write the content to output stream
  		final DOMSource source = new DOMSource(doc);
  		final StreamResult result = new StreamResult(outputStream);
  		transform(source, result);
  	}
docs: Transforms a given {@code Data} instance into XML and writes it to the passed in {@code OutputStream}.
  
  @param data
  {@code Data} to transform into XML
  @param outputStream
  output stream to write
  @throws ParserConfigurationException
  If a DocumentBuilder cannot be created which satisfies the configuration requested.
  @throws TransformerException
  If an unrecoverable error occurs during the course of the transformation.