public void marshal(Object object, HierarchicalStreamWriter writer, MarshallingContext context) { StartProcessCommand cmd = (StartProcessCommand) object; writer.addAttribute( "processId", cmd.getProcessId() ); writer.addAttribute( "out-identifier", cmd.getOutIdentifier() ); for ( Entry<String, Object> entry : cmd.getParameters().entrySet() ) { writer.startNode( "parameter" ); writer.addAttribute( "identifier", entry.getKey() ); writeItem( entry.getValue(), context, writer ); writer.endNode(); } }