Element element = new Element("root", "b", "urn:Bean");
for (Map.Entry<String, String> entry : getNamespaces().entrySet()) {
element.addNamespaceDeclaration(Namespace.getNamespace(entry.getKey(), entry.getValue()));
}
new Document(element);
JDOMWriter rootWriter = new JDOMWriter(element);
Context context = getContext();
// get Type based on the object instance
assertNotNull("type is null", type);
// write the ref
SoapRefType soapRefType = new SoapRefType(type);
MessageWriter cwriter = rootWriter.getElementWriter(soapRefType.getSchemaType());
soapRefType.writeObject(instance, cwriter, context);
cwriter.close();
// write the trailing blocks (referenced objects)
trailingBlocks.writeBlocks(rootWriter, context);