Fix NeighbourResolutionManager which always
sets the context as handled, updates learningswitch
version and fixes a checkstyle error.

Change-Id: I30a9abae60a808e3d610e5a7086cc7ee53720bb9
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/neighbour/impl/NeighbourResolutionManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/neighbour/impl/NeighbourResolutionManager.java
index fe1a800..ed6c856 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/neighbour/impl/NeighbourResolutionManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/neighbour/impl/NeighbourResolutionManager.java
@@ -71,6 +71,7 @@
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onlab.packet.Ethernet.TYPE_ARP;
@@ -280,19 +281,24 @@
             return;
         }
 
-        handleMessage(msgContext);
+        if (handleMessage(msgContext)) {
+            context.block();
+        }
 
-        context.block();
     }
 
-    private void handleMessage(NeighbourMessageContext context) {
+    private boolean handleMessage(NeighbourMessageContext context) {
         Collection<NeighbourHandlerRegistration> handlers = packetHandlers.get(context.inPort());
 
-        handlers.forEach(registration -> {
-            if (registration.intf() == null || matches(context, registration.intf())) {
-                registration.handler().handleMessage(context, hostService);
-            }
-        });
+        Collection<NeighbourHandlerRegistration> handled = handlers
+                .stream()
+                .filter(registration -> registration.intf() == null || matches(context, registration.intf()))
+                .collect(Collectors.toSet());
+
+        handled.forEach(registration -> registration.handler().handleMessage(context, hostService));
+
+        return !handled.isEmpty();
+
     }
 
     /**