Sonar suggestion - don't use synchronized Stack class

Change-Id: I1e44ac28006999b39060ebdb675f5782ec4041b9
diff --git a/utils/misc/src/main/java/org/onlab/graph/DepthFirstSearch.java b/utils/misc/src/main/java/org/onlab/graph/DepthFirstSearch.java
index 2bb56e3..85a0891 100644
--- a/utils/misc/src/main/java/org/onlab/graph/DepthFirstSearch.java
+++ b/utils/misc/src/main/java/org/onlab/graph/DepthFirstSearch.java
@@ -15,11 +15,12 @@
  */
 package org.onlab.graph;
 
+import java.util.Deque;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedList;
 import java.util.Map;
 import java.util.Set;
-import java.util.Stack;
 
 /**
  * DFS graph search algorithm implemented via iteration rather than recursion.
@@ -47,7 +48,7 @@
         // Track finished vertexes and keep a stack of vertexes that have been
         // started; start this stack with the source on it.
         Set<V> finished = new HashSet<>();
-        Stack<V> stack = new Stack<>();
+        Deque<V> stack = new LinkedList<>();
         stack.push(src);
 
         while (!stack.isEmpty()) {