Fixing merge issues
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
index 6d8406f..104a896 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
@@ -361,24 +361,24 @@
         if (!topologyEvents.getAddedMastershipDataEntries().isEmpty()) {
             processMastershipAdded(topologyEvents.getAddedMastershipDataEntries());
         }
-        else {
-            if (operationMode == 0) {
-                discoveryTask.reschedule(20, TimeUnit.SECONDS);
-                operationMode = 1; // Wait until all switches are up ..
-            }
-            else if (operationMode == 1) { // waiting for all switches to be up
-                // Do nothing
-            }
-            else if (operationMode == 2) { // all switches are up and we need to
-                                           // handle events quickly.
-                topologyEventQueue.add(topologyEvents);
-                discoveryTask.reschedule(100, TimeUnit.MILLISECONDS);
-            }
 
-            // discoveryTask.reschedule(100, TimeUnit.MILLISECONDS);
-            // log.debug("A task is scheduled to handle events {}",
-            // topologyEvents);
+        if (operationMode == 0) {
+            discoveryTask.reschedule(20, TimeUnit.SECONDS);
+            operationMode = 1; // Wait until all switches are up ..
         }
+        else if (operationMode == 1) { // waiting for all switches to be up
+            // Do nothing
+        }
+        else if (operationMode == 2) { // all switches are up and we need to
+            // handle events quickly.
+            topologyEventQueue.add(topologyEvents);
+            discoveryTask.reschedule(100, TimeUnit.MILLISECONDS);
+        }
+
+        // discoveryTask.reschedule(100, TimeUnit.MILLISECONDS);
+        // log.debug("A task is scheduled to handle events {}",
+        // topologyEvents);
+
     }
 
     private void processMastershipAdded(
diff --git a/src/main/java/net/onrc/onos/core/matchaction/MatchActionComponent.java b/src/main/java/net/onrc/onos/core/matchaction/MatchActionComponent.java
index 4fe8811..7735adb 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/MatchActionComponent.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/MatchActionComponent.java
@@ -267,15 +267,22 @@
 
             // apply updates from results list
             Map<Dpid, SwitchResult> resultMap = pendingMatchActionOperations.get(matchSetId);
-            for (SwitchResult result : results) {
-                SwitchResult resultToUpdate = resultMap.get(result.getSwitch());
-                if (resultToUpdate != null) {
-                    resultToUpdate.setStatus(result.getStatus());
+            if (resultMap != null) {
+                for (SwitchResult result : results) {
+                    SwitchResult resultToUpdate = resultMap.get(result.getSwitch());
+                    if (resultToUpdate != null) {
+                        resultToUpdate.setStatus(result.getStatus());
+                    }
+                    // else {
+                    // TODO error!
+                    // }
                 }
-                // else {
-                // TODO error!
-                // }
             }
+            else {
+                log.warn("No pendingMatchActionOperations for {} ", matchSetId);
+                return;
+            }
+
 
             // check to see the overall outcome of the install operation
             SwitchResult.Status setResult = SwitchResult.Status.SUCCESS;
diff --git a/src/main/java/net/onrc/onos/core/util/serializers/KryoFactory.java b/src/main/java/net/onrc/onos/core/util/serializers/KryoFactory.java
index 61c1e78..a634bea 100644
--- a/src/main/java/net/onrc/onos/core/util/serializers/KryoFactory.java
+++ b/src/main/java/net/onrc/onos/core/util/serializers/KryoFactory.java
@@ -14,6 +14,8 @@
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.floodlightcontroller.core.IFloodlightProviderService.Role;
+import net.floodlightcontroller.core.IOF13Switch.NeighborSet;
+import net.floodlightcontroller.core.IOF13Switch.NeighborSet.groupPktType;
 import net.floodlightcontroller.util.MACAddress;
 import net.onrc.onos.api.batchoperation.BatchOperationEntry;
 import net.onrc.onos.api.flowmanager.FlowBatchOperation;
@@ -58,10 +60,23 @@
 import net.onrc.onos.core.matchaction.MatchActionOperationsState;
 import net.onrc.onos.core.matchaction.SwitchResult;
 import net.onrc.onos.core.matchaction.SwitchResultList;
+import net.onrc.onos.core.matchaction.action.CopyTtlInAction;
+import net.onrc.onos.core.matchaction.action.CopyTtlOutAction;
+import net.onrc.onos.core.matchaction.action.DecMplsTtlAction;
+import net.onrc.onos.core.matchaction.action.DecNwTtlAction;
+import net.onrc.onos.core.matchaction.action.GroupAction;
 import net.onrc.onos.core.matchaction.action.ModifyDstMacAction;
 import net.onrc.onos.core.matchaction.action.ModifySrcMacAction;
 import net.onrc.onos.core.matchaction.action.NullAction;
 import net.onrc.onos.core.matchaction.action.OutputAction;
+import net.onrc.onos.core.matchaction.action.PopMplsAction;
+import net.onrc.onos.core.matchaction.action.PushMplsAction;
+import net.onrc.onos.core.matchaction.action.SetDAAction;
+import net.onrc.onos.core.matchaction.action.SetMplsBosAction;
+import net.onrc.onos.core.matchaction.action.SetMplsIdAction;
+import net.onrc.onos.core.matchaction.action.SetSAAction;
+import net.onrc.onos.core.matchaction.match.Ipv4Match;
+import net.onrc.onos.core.matchaction.match.MplsMatch;
 import net.onrc.onos.core.matchaction.match.PacketMatch;
 import net.onrc.onos.core.newintent.IntentCompilationResult;
 import net.onrc.onos.core.newintent.PathFlowIntent;
@@ -69,6 +84,7 @@
 import net.onrc.onos.core.newintent.SingleSrcTreeFlowIntent;
 import net.onrc.onos.core.newintent.TestIntent;
 import net.onrc.onos.core.newintent.TestSubclassIntent;
+import net.onrc.onos.core.packet.MPLS;
 import net.onrc.onos.core.packetservice.BroadcastPacketOutNotification;
 import net.onrc.onos.core.packetservice.PacketOutNotification;
 import net.onrc.onos.core.packetservice.SinglePacketOutNotification;
@@ -199,6 +215,7 @@
         // FlowPath and related classes
         kryo.register(Dpid.class);
         kryo.register(IPv4.class);
+        kryo.register(MPLS.class);
         kryo.register(IPv4Net.class);
         kryo.register(IPv6.class);
         kryo.register(IPv6Net.class);
@@ -282,9 +299,22 @@
         kryo.register(MatchAction.class);
         kryo.register(MatchActionId.class);
         kryo.register(PacketMatch.class);
+        kryo.register(Ipv4Match.class);
+        kryo.register(MplsMatch.class);
         kryo.register(OutputAction.class);
         kryo.register(ModifyDstMacAction.class);
         kryo.register(ModifySrcMacAction.class);
+        kryo.register(CopyTtlInAction.class);
+        kryo.register(CopyTtlOutAction.class);
+        kryo.register(DecMplsTtlAction.class);
+        kryo.register(DecNwTtlAction.class);
+        kryo.register(GroupAction.class);
+        kryo.register(PopMplsAction.class);
+        kryo.register(PushMplsAction.class);
+        kryo.register(SetDAAction.class);
+        kryo.register(SetSAAction.class);
+        kryo.register(SetMplsBosAction.class);
+        kryo.register(SetMplsIdAction.class);
         kryo.register(MatchActionOperations.class);
         kryo.register(MatchActionOperations.Operator.class);
         kryo.register(MatchActionOperationsId.class);
@@ -315,6 +345,9 @@
         kryo.register(PolicyNotification.class);
         kryo.register(TunnelNotification.class);
         kryo.register(TunnelRouteInfo.class);
+        kryo.register(NeighborSet.class);
+        kryo.register(groupPktType.class);
+
 
         return kryo;
     }