private void BuildDisplay(NeoDatis.Btree.IBTreeNode node, int currentHeight, int childIndex, object parentId, bool withIds) { if (currentHeight > lines.Length - 1) { return; } // get string buffer of this line System.Text.StringBuilder line = lines[currentHeight]; if (withIds) { line.Append(node.GetId()).Append(":["); } else { line.Append("["); } for (int i = 0; i < node.GetNbKeys(); i++) { if (i > 0) { line.Append(" , "); } NeoDatis.Btree.IKeyAndValue kav = node.GetKeyAndValueAt(i); line.Append(kav.GetKey()); } if (withIds) { line.Append("]:").Append(node.GetParentId()).Append("/").Append(parentId).Append( " "); } else { line.Append("] "); } for (int i = 0; i < node.GetNbChildren(); i++) { NeoDatis.Btree.IBTreeNode child = node.GetChildAt(i, false); if (child != null) { BuildDisplay(child, currentHeight + 1, i, node.GetId(), withIds); } else { lines[currentHeight + 1].Append("[Child " + (i + 1) + " null!] "); } } }