[CORD-2533] UnsupportedOperationException in OFDPA pipeliner

Rationale: appkryo returns immutable lists serializable
which do not support removeIf and addAll methods

Change-Id: I25f7f818677d78cad65122f476702f9e194fd620
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2GroupHandler.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2GroupHandler.java
index 24ababc..e5b284e 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2GroupHandler.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2GroupHandler.java
@@ -1440,6 +1440,7 @@
             // get a fresh copy of what the store holds
             NextGroup next = flowObjectiveStore.getNextGroup(nextObjective.id());
             List<Deque<GroupKey>> allActiveKeys = appKryo.deserialize(next.data());
+            allActiveKeys = Lists.newArrayList(allActiveKeys);
             // Note that since we got a new object, and ArrayDeque does not implement
             // Object.equals(), we have to check the deque elems one by one
             allActiveKeys
@@ -1812,6 +1813,7 @@
             }
             if (nextGrp.nextObjective().op() == Operation.ADD_TO_EXISTING) {
                 List<Deque<GroupKey>> allActiveKeys = appKryo.deserialize(next.data());
+                allActiveKeys = Lists.newArrayList(allActiveKeys);
                 // If active keys shows only the top-level group without a chain of groups,
                 // then it represents an empty group. Update by replacing empty chain.
                 if (allActiveKeys.size() == 1 && allActiveKeys.get(0).size() == 1) {