public byte[] serialize(MediaContent content) throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(expectedSize); XMLStreamWriter writer = outFactory.createXMLStreamWriter(baos, "UTF-8"); writer.writeStartDocument("UTF-8", "1.0"); writer.writeStartElement("mc"); writeMedia(writer, content.getMedia()); for (int i = 0, len = content.imageCount(); i < len; ++i) { writeImage(writer, content.getImage(i)); } writer.writeEndElement(); writer.writeEndDocument(); writer.flush(); writer.close(); byte[] array = baos.toByteArray(); expectedSize = array.length; return array; }