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 a8f694e9ed8035447d8d85b804c08ec692fd0237..9380b25494106783dde10982fcc62bc3861590c1 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