public static int computeMinimumLevenshteinDistance(ArrayList<Character> word, Trie theTrie) {

        theTrie.minLevDist = Integer.MAX_VALUE;

        int iWordLength = word.size();
        int[] currentRow = new int[iWordLength + 1];

        for (int i = 0; i <= iWordLength; i++) {
            currentRow[i] = i;
        }

//        for (int i = 0; i < iWordLength; i++) {
//            traverseTrie(theTrie.root, word.get(i), word, currentRow, theTrie);
//        }

        for (Character c : theTrie.root.children.keySet()) {
            traverseTrie(theTrie.root.children.get(c), c, word, currentRow, theTrie);
        }
        return theTrie.minLevDist;
    }