private void ReadRecursively(DataInput @in, JaspellTernarySearchTrie.TSTNode node)
{
node.splitchar = @in.ReadString()[0];
sbyte mask = (sbyte)@in.ReadByte();
if ((mask & HAS_VALUE) != 0)
{
node.data = Convert.ToInt64(@in.ReadLong());
}
if ((mask & LO_KID) != 0)
{
var kid = new JaspellTernarySearchTrie.TSTNode(trie, '\0', node);
node.relatives[JaspellTernarySearchTrie.TSTNode.LOKID] = kid;
ReadRecursively(@in, kid);
}
if ((mask & EQ_KID) != 0)
{
var kid = new JaspellTernarySearchTrie.TSTNode(trie, '\0', node);
node.relatives[JaspellTernarySearchTrie.TSTNode.EQKID] = kid;
ReadRecursively(@in, kid);
}
if ((mask & HI_KID) != 0)
{
var kid = new JaspellTernarySearchTrie.TSTNode(trie, '\0', node);
node.relatives[JaspellTernarySearchTrie.TSTNode.HIKID] = kid;
ReadRecursively(@in, kid);
}
}