Publish a list of changes when leadership changes occur

Change-Id: I99a4e239ac5aa9999b3a735cdf004941a5957a93
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorState.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorState.java
index ef8c444..0621042 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorState.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorState.java
@@ -97,7 +97,7 @@
     }
 
     private void notifyLeadershipChange(Leadership previousLeadership, Leadership newLeadership) {
-        notifyLeadershipChanges(Arrays.asList(new Change<>(previousLeadership, newLeadership)));
+        notifyLeadershipChanges(Lists.newArrayList(new Change<>(previousLeadership, newLeadership)));
     }
 
     private void notifyLeadershipChanges(List<Change<Leadership>> changes) {
@@ -247,7 +247,7 @@
      */
     public void evict(Commit<? extends Evict> commit) {
         try {
-            List<Change<Leadership>> changes = Lists.newLinkedList();
+            List<Change<Leadership>> changes = Lists.newArrayList();
             NodeId nodeId = commit.operation().nodeId();
             Set<String> topics = Maps.filterValues(elections, e -> e.candidates().contains(nodeId)).keySet();
             topics.forEach(topic -> {
@@ -330,14 +330,16 @@
             listener.close();
         }
         Set<String> topics = elections.keySet();
+        List<Change<Leadership>> changes = Lists.newArrayList();
         topics.forEach(topic -> {
             Leadership oldLeadership = leadership(topic);
             elections.compute(topic, (k, v) -> v.cleanup(session, termCounter(topic)::incrementAndGet));
             Leadership newLeadership = leadership(topic);
             if (!Objects.equal(oldLeadership, newLeadership)) {
-                notifyLeadershipChange(oldLeadership, newLeadership);
+                changes.add(new Change<>(oldLeadership, newLeadership));
             }
         });
+        notifyLeadershipChanges(changes);
     }
 
     private static class Registration {