boolean backSearch(Node node, String word, int lvl) {
		if (lvl == word.length()) {
			if (!node.isEnd)
				return false;
			else
				return true;
		} else {
			char curChar = word.charAt(lvl);
			if (curChar == '.') {
				boolean result = false;
				for (Node nextNode : node.map.values()) {
					result |= backSearch(nextNode, word, lvl + 1);
				}
				return result;
			} else {
				if (!node.map.containsKey(curChar))
					return false;
				else
					return backSearch(node.map.get(curChar), word, lvl + 1);
			}
		}

	}