public Node(SuffixTree tree)
			{
				_tree = tree;
				Edges = new Dictionary<char, Edge>();
				NodeNumber = _tree.NextNodeNumber++;
			}
		public static SuffixTree Create(string word, char canonizationChar = '$')
		{
			var tree = new SuffixTree(word);
			tree.Build(canonizationChar);
			return tree;
		}
			public Edge(SuffixTree tree, Node head)
			{
				_tree = tree;
				Head = head;
				StartIndex = tree.CurrentSuffixEndIndex;
				EdgeNumber = _tree.NextEdgeNumber++;
			}