static IntSuffixTree_managed ukkonenToIntSuffixTree_managed(UkkonenIntSuffixTree uTree) { new IntSuffixTree_managed tree; int lText = l(uTree.text); tree.fullText = wrapIntArrayAsImmutableList(uTree.text); new TreeMap nodeMap; for (int uNodeIdx : recursiveIterator(uTree.root, n -> values(uTree.nodes[n].next))) { UkkonenIntSuffixTree.Node uNode = uTree.nodes[uNodeIdx]; IntSuffixTree_managed.Node node = tree.newNode(uNode.start, min(lText, uNode.end)); nodeMap.put(uNodeIdx, node); } ret tree; }