index++;
}
if (embeddedSuffixTable.length > 0) {
int alphabetSize = symbolTable.alphabetSize();
int[] lcpTable = new NaiveLcpTableBuilder().buildLcpTable(embeddedSuffixTable, sequence);
int[] childTable = new KimChildTableBuilder().buildChildTable(lcpTable);
EnhancedSuffixArray esa = new EnhancedSuffixArrayBase(sequence, alphabetSize, embeddedSuffixTable,
lcpTable, childTable);
int[] extendedLcpTable = new ExtendedLcpTableBuilderImpl().buildExtendedLcpTable(esa);
childTable = new KimChildTableBuilder().buildChildTable(extendedLcpTable);
return new EmbeddedSuffixTreeImpl(interval, sequence, alphabetSize, embeddedSuffixTable,
inverseSuffixTable, embeddingSuffixTable, lcpTable, extendedLcpTable, childTable);
} else
return null;