diff --git a/apps/openstacknetworking/routing/src/main/java/org/onosproject/openstacknetworking/routing/OpenstackRoutingManager.java b/apps/openstacknetworking/routing/src/main/java/org/onosproject/openstacknetworking/routing/OpenstackRoutingManager.java
index b2de89e..b331746 100644
--- a/apps/openstacknetworking/routing/src/main/java/org/onosproject/openstacknetworking/routing/OpenstackRoutingManager.java
+++ b/apps/openstacknetworking/routing/src/main/java/org/onosproject/openstacknetworking/routing/OpenstackRoutingManager.java
@@ -197,9 +197,7 @@
         if (gatewayIp == null) {
             return;
         }
-        gatewayService.getGatewayDeviceIds().stream().forEach(deviceId -> {
-            populateGatewayIcmpRule(gatewayIp, deviceId);
-        });
+        gatewayService.getGatewayDeviceIds().forEach(deviceId -> populateGatewayIcmpRule(gatewayIp, deviceId));
     }
 
     private void populateGatewayIcmpRule(Ip4Address gatewayIp, DeviceId deviceId) {
@@ -371,7 +369,7 @@
         }
 
         Map<String, String> vniMap = new HashMap<>();
-        openstackService.networks().stream().forEach(n -> vniMap.put(n.id(), n.segmentId()));
+        openstackService.networks().forEach(n -> vniMap.put(n.id(), n.segmentId()));
 
         // TODO improve pipeline, do we have to install access rules between networks
         // for every single VMs?
@@ -402,7 +400,7 @@
         }
 
         Map<String, String> vniMap = new HashMap<>();
-        openstackService.networks().stream().forEach(n -> vniMap.put(n.id(), n.segmentId()));
+        openstackService.networks().forEach(n -> vniMap.put(n.id(), n.segmentId()));
 
         osSubNets.stream().filter(osSubNet -> !osSubNet.id().equals(osSubNetId)).forEach(osSubNet -> {
             TrafficSelector.Builder sBuilder = DefaultTrafficSelector.builder();
