public static boolean diverseNode(SuffixTree st, SuffixTreeNode n) {
		Set<Character> set = new HashSet<Character>();
		for (SuffixTreeNode child : n.children) {
			log.debug("checking child " + child + " is leaf? " + child.isLeaf);
			if (isEndNode(child)==false) {
				log.debug("Not a leaf node");
				return false;
			} else {
				char leftChar = '\u0001';
				if (child.start - 1 >= 0) {
					leftChar = st.inputs.get(0).charAt(child.start - 1);
				}
				log.debug("Leaf node with left character " + leftChar);
				if (set.contains(leftChar))
					return false;
				else
					set.add(leftChar);
			}
		}
		return true;
	}