Avoid interacting with SB if nothing to do

- Workaround for Fujitsu driver not being able to handle
  empty operation.

Change-Id: I6c68b893360e30beef707e40d2b619912bb9b257
diff --git a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java
index 6cf2cf3..1ff649d 100644
--- a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java
+++ b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java
@@ -134,8 +134,14 @@
         ImmutableList<FlowRule> rulesToAdd = toAdd.build();
         ImmutableList<FlowRule> rulesToRemove = toRemove.build();
 
-        Collection<FlowRule> added = applyFlowRules(batch.deviceId(), rulesToAdd);
-        Collection<FlowRule> removed = removeFlowRules(batch.deviceId(), rulesToRemove);
+        Collection<FlowRule> added = ImmutableList.of();
+        if (!rulesToAdd.isEmpty()) {
+            added = applyFlowRules(batch.deviceId(), rulesToAdd);
+        }
+        Collection<FlowRule> removed = ImmutableList.of();
+        if (!rulesToRemove.isEmpty()) {
+            removed = removeFlowRules(batch.deviceId(), rulesToRemove);
+        }
 
         Set<FlowRule> failedRules = Sets.union(Sets.difference(copyOf(rulesToAdd), copyOf(added)),
                                                Sets.difference(copyOf(rulesToRemove), copyOf(removed)));