diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/CollectionUtils.java b/common/source/java/ch/systemsx/cisd/common/utilities/CollectionUtils.java
index 376d96d599e9cea3d1c5a0b20d05d7f5b1420446..e3efc49e5e50848e7fd1880358ecd39502fdb731 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/CollectionUtils.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/CollectionUtils.java
@@ -20,6 +20,8 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
 
+import org.apache.commons.lang.StringUtils;
+
 /**
  * Some convenience methods/utilities around {@link Collection}.
  * 
@@ -144,4 +146,20 @@ public final class CollectionUtils
         return builder.toString();
     }
 
+    /**
+     * Gets each item composing given <var>iterable</var> and checks whether it is not empty using {@link StringUtils}.
+     */
+    public final static boolean isEmpty(final Iterable<String> iterable)
+    {
+        assert iterable != null : "Given iterable can not be null";
+        for (final String element : iterable)
+        {
+            if (StringUtils.isNotEmpty(element))
+            {
+                return false;
+            }
+        }
+        return true;
+    }
+
 }
\ No newline at end of file
diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/CollectionUtilsTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/CollectionUtilsTest.java
index ace9187342617d0613c08c9f872385adf43e7b69..90f43f8610d0d4b8e3ec62ccfba62c8c6b51c865 100644
--- a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/CollectionUtilsTest.java
+++ b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/CollectionUtilsTest.java
@@ -18,7 +18,9 @@ package ch.systemsx.cisd.common.utilities;
 
 import static org.testng.AssertJUnit.*;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
 import org.testng.annotations.Test;
@@ -45,8 +47,7 @@ public final class CollectionUtilsTest
         String[] s = StringUtilities.getStrings(5);
         CollectionStyle collectionStyle = CollectionStyle.DEFAULT_COLLECTION_STYLE;
         String string =
-                collectionStyle.getCollectionStart()
-                        + StringUtils.join(s, collectionStyle.getCollectionSeparator())
+                collectionStyle.getCollectionStart() + StringUtils.join(s, collectionStyle.getCollectionSeparator())
                         + collectionStyle.getCollectionEnd();
         assertEquals(string, CollectionUtils.abbreviate(s, -1, false));
         assertEquals(string, CollectionUtils.abbreviate(s, -10, false));
@@ -64,4 +65,26 @@ public final class CollectionUtilsTest
         assertEquals("[1, 2, ... (3 left)]", CollectionUtils.abbreviate(s, 2));
         assertEquals(CollectionUtils.abbreviate(s, 10, false), CollectionUtils.abbreviate(s, 10));
     }
+
+    @Test
+    public final void testIsEmpty()
+    {
+        try
+        {
+            CollectionUtils.isEmpty(null);
+            fail("Given iterable can not be null.");
+        } catch (AssertionError e)
+        {
+            // Nothing to do here.
+        }
+        final List<String> list = new ArrayList<String>();
+        assertEquals(true, CollectionUtils.isEmpty(list));
+        list.add("");
+        assertEquals(true, CollectionUtils.isEmpty(list));
+        list.add(" ");
+        assertEquals(false, CollectionUtils.isEmpty(list));
+        list.clear();
+        list.add("x");
+        assertEquals(false, CollectionUtils.isEmpty(list));
+    }
 }