I've just noticed that you've introduced some recursive allAncestor methods ... be aware that for packages with lots of ancestors, these algorithms with fail with stack overflow problems ... so you should rewrite these algorithms in a non-recursive manner ... it's ugly but necessary...