[ONOS-6380] Intent performance regression fix
- Do not wrap completed futures

Change-Id: I94729b6ba0fa22bf14d1910ff05d88395b61c82c
diff --git a/utils/misc/src/main/java/org/onlab/util/Tools.java b/utils/misc/src/main/java/org/onlab/util/Tools.java
index 0c76a91..d2aa1f5 100644
--- a/utils/misc/src/main/java/org/onlab/util/Tools.java
+++ b/utils/misc/src/main/java/org/onlab/util/Tools.java
@@ -662,6 +662,10 @@
             CompletableFuture<T> future,
             Executor orderedExecutor,
             Executor threadPoolExecutor) {
+        if (future.isDone()) {
+            return future;
+        }
+
         BlockingAwareFuture<T> newFuture = new BlockingAwareFuture<T>();
         future.whenComplete((result, error) -> {
             Runnable completer = () -> {