From b7784f61a910178531ddd621f47d474b8fe3599b Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Thu, 11 Nov 2010 09:53:29 +0000
Subject: [PATCH] LMS-1767 Made the reflection string traverser more robust.

SVN: 18624
---
 .../cisd/common/utilities/ReflectionStringTraverser.java  | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/ReflectionStringTraverser.java b/common/source/java/ch/systemsx/cisd/common/utilities/ReflectionStringTraverser.java
index 5586e624645..b9f37a8f318 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/ReflectionStringTraverser.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/ReflectionStringTraverser.java
@@ -229,6 +229,10 @@ public class ReflectionStringTraverser
         for (int index = 0; index < length; ++index)
         {
             Object element = Array.get(array, index);
+            if (element == null)
+            {
+                continue;
+            }
             if (isString(element))
             {
                 visitStringArrayElement(array, index, element, componentType);
@@ -310,6 +314,10 @@ public class ReflectionStringTraverser
 
     private static boolean isStringCollection(Collection<?> collection)
     {
+        if (collection.isEmpty())
+        {
+            return false;
+        }
         Class<?> elementClass = figureElementClass(collection);
         return isStringClass(elementClass);
     }
-- 
GitLab