diff -ru xfire-1.2-RC/xfire-aegis/src/main/org/codehaus/xfire/aegis/type/collection/CollectionType.java xfire-1.2-RC-patched/xfire-aegis/src/main/org/codehaus/xfire/aegis/type/collection/CollectionType.java
--- xfire-1.2-RC/xfire-aegis/src/main/org/codehaus/xfire/aegis/type/collection/CollectionType.java	2006-05-01 15:26:08.000000000 +0100
+++ xfire-1.2-RC-patched/xfire-aegis/src/main/org/codehaus/xfire/aegis/type/collection/CollectionType.java	2006-08-15 14:47:55.000000000 +0100
@@ -100,11 +100,7 @@
                 else
                     ns = type.getSchemaType().getNamespaceURI();
 
-                MessageWriter cwriter = writer
-                        .getElementWriter(type.getSchemaType().getLocalPart(), ns);
-
-                type.writeObject(itr.next(), cwriter, context);
-                cwriter.close();
+		 writeValue(itr.next(), writer, context, type, type.getSchemaType().getLocalPart(), ns);
             }
         }
         catch (IllegalArgumentException e)

