Patch replaces ParentArray and ChildrenArrays by ParallelTaxonomyArrays. Most of the changes are due to this API change, but nothing conceptually changed. You still get 3 arrays for traversing the taxonomy tree, only now from one object.
All tests pass.
Gilad, I chose ParallelTaxoArrays because in the end this object returns you arrays and nothing else. The ParallelArrays name already exists in Lucene (ParallelPostingArrays), and so I've followed the same convention.
If one day we'll change this object to provide service methods for getting parent, child and sibling, then a better name (like FamilyTree) might be more adequate.