@Override
	public boolean equals(Object n){
		if(!(n instanceof SuffixTreeNode))
			return false;
		for(Integer i: ((SuffixTreeNode)n).stringIndex){
			if(!stringIndex.contains(i)){
				return false;
			}
		}
		//return start==((SuffixTreeNode)n).start && cut == ((SuffixTreeNode)n).cut && end==((SuffixTreeNode)n).end;
		return start==((SuffixTreeNode)n).start && end==((SuffixTreeNode)n).end && cut == ((SuffixTreeNode)n).cut && parent == ((SuffixTreeNode)n).parent;
	}