From c59c7f4720dfd2a5a241024561b9d2be5aab5778 Mon Sep 17 00:00:00 2001
From: kaloyane <kaloyane>
Date: Fri, 10 Jun 2011 13:54:22 +0000
Subject: [PATCH] [LMS-2290] forgotten utility method commit

SVN: 21673
---
 .../cisd/common/collections/CollectionUtils.java | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/common/source/java/ch/systemsx/cisd/common/collections/CollectionUtils.java b/common/source/java/ch/systemsx/cisd/common/collections/CollectionUtils.java
index a8f694e9ed8..9380b254941 100644
--- a/common/source/java/ch/systemsx/cisd/common/collections/CollectionUtils.java
+++ b/common/source/java/ch/systemsx/cisd/common/collections/CollectionUtils.java
@@ -19,6 +19,7 @@ package ch.systemsx.cisd.common.collections;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
@@ -327,4 +328,19 @@ public final class CollectionUtils
         }
         return filtered;
     }
+
+    /**
+     * For a given collection C returns
+     * 
+     * <pre>
+     * 1) C when is not null
+     * 2) Empty collection when C is null
+     * </pre>
+     * 
+     * This allows e.g. iterating over the collections elements without redundant null checks.
+     */
+    public static <E> Collection<E> nullSafe(Collection<E> list)
+    {
+        return (list != null) ? list : Collections.<E> emptyList();
+    }
 }
\ No newline at end of file
-- 
GitLab