guard against null arguments in collection methods, esp in var args
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableList.java b/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableList.java
index 7df8787..eda240f 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableList.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableList.java
@@ -59,7 +59,11 @@
         MutableList<V> result = new MutableList<V>();
         result.add(v1);
         result.add(v2);
-        for (V v: vv) result.add(v);
+        if (vv==null) {
+            result.add(null);
+        } else {
+            for (V v : vv) result.add(v);
+        }
         return result;
     }
 
@@ -135,7 +139,11 @@
         public Builder<V> add(V value1, V value2, V ...values) {
             result.add(value1);
             result.add(value2);
-            for (V v: values) result.add(v);
+            if (values==null) {
+                result.add(null);
+            } else {
+                for (V v : values) result.add(v);
+            }
             return this;
         }
 
@@ -145,7 +153,9 @@
         }
         
         public Builder<V> addAll(Iterable<? extends V> iterable) {
-            if (iterable instanceof Collection) {
+            if (iterable==null) {
+                // nothing
+            } else if (iterable instanceof Collection) {
                 result.addAll((Collection<? extends V>) iterable);
             } else {
                 for (V v : iterable) {
@@ -156,21 +166,27 @@
         }
 
         public Builder<V> addAll(Iterator<? extends V> iter) {
-            while (iter.hasNext()) {
-                add(iter.next());
+            if (iter!=null) {
+                while (iter.hasNext()) {
+                    add(iter.next());
+                }
             }
             return this;
         }
 
         public Builder<V> addAll(V[] vals) {
-            for (V v : vals) {
-                result.add(v);
+            if (vals!=null) {
+                for (V v : vals) {
+                    result.add(v);
+                }
             }
             return this;
         }
 
         public Builder<V> removeAll(Iterable<? extends V> iterable) {
-            if (iterable instanceof Collection) {
+            if (iterable==null) {
+                // nothing
+            } else if (iterable instanceof Collection) {
                 result.removeAll((Collection<? extends V>) iterable);
             } else {
                 for (V v : iterable) {
@@ -181,7 +197,9 @@
         }
 
         public Builder<V> retainAll(Iterable<? extends V> iterable) {
-            if (iterable instanceof Collection) {
+            if (iterable==null) {
+                // nothing
+            } else if (iterable instanceof Collection) {
                 result.retainAll((Collection<? extends V>) iterable);
             } else {
                 List<V> toretain = Lists.newArrayList(iterable);
@@ -199,8 +217,10 @@
         }
 
         public Builder<V> addLists(Iterable<? extends V> ...items) {
-            for (Iterable<? extends V> item: items) {
-                addAll(item);
+            if (items!=null) {
+                for (Iterable<? extends V> item : items) {
+                    addAll(item);
+                }
             }
             return this;
         }
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableSet.java b/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableSet.java
index d5a632f..d3074e7 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableSet.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableSet.java
@@ -60,7 +60,11 @@
         result.add(v1);
         result.add(v2);
         result.add(v3);
-        for (V vi: vMore) result.add(vi);
+        if (vMore==null) {
+            result.add(null);
+        } else {
+            for (V vi : vMore) result.add(vi);
+        }
         return result;
     }
 
@@ -126,7 +130,11 @@
         public Builder<V> add(V v1, V v2, @SuppressWarnings("unchecked") V ...values) {
             result.add(v1);
             result.add(v2);
-            for (V value: values) result.add(value);
+            if (values==null) {
+                result.add(null);
+            } else {
+                for (V value : values) result.add(value);
+            }
             return this;
         }