Index: com/thoughtworks/xstream/annotations/Annotations.java
===================================================================
--- com/thoughtworks/xstream/annotations/Annotations.java	(revisione 1059)
+++ com/thoughtworks/xstream/annotations/Annotations.java	(copia locale)
@@ -94,25 +94,29 @@
         //Do Class Level ImplicitCollection
         if(configurableClass.isAnnotationPresent(XStreamImplicitCollection.class)){
             XStreamImplicitCollection implicitColAnnotation = element.getAnnotation(XStreamImplicitCollection.class);
-            String fieldName = implicitColAnnotation.value();
-            String itemFieldName = implicitColAnnotation.item();
-            Field field;
-            try {
-                field = configurableClass.getDeclaredField(fieldName);
-                Class itemType = getFieldParameterizedType(field, xstream);
-                if (itemType == null) {
-                    xstream.addImplicitCollection(configurableClass, fieldName);
-                } else {
-                    if (itemFieldName.equals("")) {
-                        xstream.addImplicitCollection(configurableClass, fieldName,
-                                itemType);
+            String[] fieldNames = implicitColAnnotation.value();
+            String[] itemFieldNames = implicitColAnnotation.item();
+            for (int i = 0; i < fieldNames.length; i++) {
+                String fieldName = fieldNames[i];
+                Field field;
+                try {
+                    field = configurableClass.getDeclaredField(fieldName);
+                    Class itemType = getFieldParameterizedType(field, xstream);
+                    if (itemType == null) {
+                        xstream.addImplicitCollection(configurableClass, fieldName);
                     } else {
-                        xstream.addImplicitCollection(configurableClass, fieldName,
-                                itemFieldName, itemType);
+                        if (itemFieldNames == null || itemFieldNames.length == 0) {
+                            xstream.addImplicitCollection(configurableClass, fieldName,
+                                    itemType);
+                        } else {
+                            String itemFieldName = itemFieldNames[i];
+                            xstream.addImplicitCollection(configurableClass, fieldName,
+                                    itemFieldName, itemType);
+                        }
                     }
+                } catch (Exception e) {
+                    System.err.println("Fail to derive ImplicitCollection member type");
                 }
-            } catch (Exception e) {
-                System.err.println("Fail to derive ImplicitCollection member type");
             }
         }
 
Index: com/thoughtworks/xstream/annotations/XStreamImplicitCollection.java
===================================================================
--- com/thoughtworks/xstream/annotations/XStreamImplicitCollection.java	(revisione 1059)
+++ com/thoughtworks/xstream/annotations/XStreamImplicitCollection.java	(copia locale)
@@ -12,6 +12,6 @@
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.TYPE)
 public @interface XStreamImplicitCollection {
-    String value(); //fieldName
-    String item() default "";   //itemfieldName
+    String[] value(); //fieldName
+    String[] item() default {};   //itemfieldName
 }
