diff --git a/dev/core/src/com/google/gwt/dev/cfg/Condition.java b/dev/core/src/com/google/gwt/dev/cfg/Condition.java
index 0ff89e7..3839abb 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/Condition.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/Condition.java
@@ -21,12 +21,13 @@
 import com.google.gwt.core.ext.typeinfo.TypeOracle;
 import com.google.gwt.dev.util.collect.Sets;
 
+import java.io.Serializable;
 import java.util.Set;
 
 /**
  * Abstract base class for various kinds of deferred binding conditions.
  */
-public abstract class Condition {
+public abstract class Condition implements Serializable {
   /**
    * Returns the set of property names that the Condition requires in order to
    * be evaluated.
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Conditions.java b/dev/core/src/com/google/gwt/dev/cfg/Conditions.java
index 8993fae..d5c5810 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/Conditions.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/Conditions.java
@@ -15,22 +15,24 @@
  */
 package com.google.gwt.dev.cfg;
 
-import java.util.ArrayList;
+import com.google.gwt.dev.util.collect.Lists;
+
+import java.io.Serializable;
 import java.util.Iterator;
 import java.util.List;
 
 /**
  * A typed collection of {@link Condition} objects.
  */
-public class Conditions {
+public class Conditions implements Serializable {
 
-  private final List<Condition> list = new ArrayList<Condition>();
+  private List<Condition> list = Lists.create();
 
   /**
    * Appends a condition.
    */
   public void add(Condition condition) {
-    list.add(condition);
+    list = Lists.add(list, condition);
   }
 
   public Iterator<Condition> iterator() {
