public void attach(String word) {
       if (word.length() > 1) {
    	   if (this.isRoot()) {
    		   Character key = Character.valueOf(word.charAt(0));
    		   MTrieNode  node = (MTrieNode) this.children.get(key);
    		   if (node != null) {
    			   node.attach(word);
    		   } else {
    			   this.children.put(key, new MTrieNode(word, this.depth + 1));
    		   }
    	   }
    	   else {
    		   Character key = Character.valueOf(word.charAt(1));
    		   String value = String.valueOf(word.substring(1).toCharArray());
    		   if (value.length() > 0) {
    			   MTrieNode node = (MTrieNode) this.children.get(key);
    			   if (node != null) {
    				   node.attach(value);
    			   } else {
    				   MTrieNode newNode = new MTrieNode(value, this.depth + 1);
    				   this.children.put(key, newNode);
    			   }
    		   }
    	   }
       }
   }