@Override
public void serialize( @Nonnull T object, @Nonnull OutputStream out ) throws IOException {
try {
SMOutputFactory factory = StaxMateSupport.getSmOutputFactory();
SMOutputDocument doc = factory.createOutputDocument( out );
if (! StaxMateSupport.isJsonEnabled() ) {
doc.setIndentation( INDENT_STR, 1, 2 );
}
String nameSpaceUri = getNameSpace();
SMNamespace nameSpace = doc.getNamespace( nameSpaceUri );
SMOutputElement root = doc.addElement( nameSpace, getDefaultElementName() );
serialize( root, object, getFormatVersion() );
doc.closeRoot();
} catch ( XMLStreamException e ) {
throw new IOException( e );
}
}