diff --git a/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumAlarmConsumer.java b/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumAlarmConsumer.java
index acaaa19..9b2c3e8 100644
--- a/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumAlarmConsumer.java
+++ b/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumAlarmConsumer.java
@@ -65,7 +65,7 @@
         }
 
         // Gets the alarm table and for each entry get the ID and create the proper alarm.
-        snmp.get(ALARMS_TABLE_OID).stream()
+        snmp.get(ALARMS_TABLE_OID)
                 .forEach(alarm -> snmp.get(ALARMS_ID_OID).forEach(alarmIdEvent -> {
                     int alarmId = getAlarmId(alarmIdEvent);
                     alarms.add(new DefaultAlarm.Builder(deviceId, getMessage(alarmId),
diff --git a/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumFlowRuleProgrammable.java b/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumFlowRuleProgrammable.java
index 7a25ad3..21f9b24 100644
--- a/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumFlowRuleProgrammable.java
+++ b/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumFlowRuleProgrammable.java
@@ -153,11 +153,10 @@
 
         // Cache the cookie/priority
         CrossConnectCache cache = this.handler().get(CrossConnectCache.class);
-        added.stream()
-                .forEach(xc -> cache.set(
-                        Objects.hash(data().deviceId(), xc.selector(), xc.treatment()),
-                        xc.id(),
-                        xc.priority()));
+        added.forEach(xc -> cache.set(
+                Objects.hash(data().deviceId(), xc.selector(), xc.treatment()),
+                xc.id(),
+                xc.priority()));
 
         return added;
     }
@@ -185,9 +184,8 @@
 
         // Remove flow rule from cache
         CrossConnectCache cache = this.handler().get(CrossConnectCache.class);
-        removed.stream()
-                .forEach(xc -> cache.remove(
-                        Objects.hash(data().deviceId(), xc.selector(), xc.treatment())));
+        removed.forEach(xc -> cache.remove(
+                Objects.hash(data().deviceId(), xc.selector(), xc.treatment())));
 
         return removed;
     }
