fix findWordInTree.

Change-Id: I8f42df28f76188677db9d4e55885e1fc6a40b53f
diff --git a/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java b/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java
index 2601551..7c15ba5 100644
--- a/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java
+++ b/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java
@@ -532,6 +532,7 @@
         } while (null != node && index < s.length());
 
         if (index < s.length()) return null;
+        if (!currentGroup.isTerminal()) return null;
         if (DBG && !s.equals(checker.toString())) return null;
         return currentGroup;
     }
diff --git a/tests/src/com/android/inputmethod/latin/FusionDictionaryTests.java b/tests/src/com/android/inputmethod/latin/FusionDictionaryTests.java
index e3f7583..8ecdcc3 100644
--- a/tests/src/com/android/inputmethod/latin/FusionDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/FusionDictionaryTests.java
@@ -38,5 +38,11 @@
         dict.add("aa", 10, null);
         assertNull(FusionDictionary.findWordInTree(dict.mRoot, "aaa"));
         assertNotNull(FusionDictionary.findWordInTree(dict.mRoot, "aa"));
+
+        dict.add("babcd", 10, null);
+        dict.add("bacde", 10, null);
+        assertNull(FusionDictionary.findWordInTree(dict.mRoot, "ba"));
+        assertNotNull(FusionDictionary.findWordInTree(dict.mRoot, "babcd"));
+        assertNotNull(FusionDictionary.findWordInTree(dict.mRoot, "bacde"));
     }
 }