I hit an ArrayIndexOutOfBoundsException with this fix.
Say groupNode has N children and binarySearch returns N. Then the else branch increments insertionPoint to (N+1). Now insert() hits an ArrayIndexOutOfBoundsException. I think you must use add() instead of insert() for the case where you insert after the last entry.
Reply to this email directly or view it on GitHub: