private void generateI(){
		if(root==null)
			return;
		for(SuffixTreeNode leaf : leafNodes){
			SuffixTreeNode current = leaf;
			//int currentH = height(current.getPreorder());
			while(current!=null && current!=root){
				SuffixTreeNode parent = current.parent;
				//log.debug("current: "+current+"  parent "+parent);
				if(parent==null)
					break;
				if(Utils.height(current.I.preorder)>Utils.height(parent.I.preorder))
					parent.I = current.I;
				current = parent;
			}
		}
	}