If you attempt to compare two BigIntegerNodes, they will never be equal unless the underlying BigInteger it holds are the same object. The "equals" method incorrectly compares the two nodes using "==" instead of .equals.
"return ((BigIntegerNode) o)._value == _value;"
Unfortunately, I'm not at a location where I can include a patch for this, but it is a really simple change:
"return ((BigIntegerNode) o)._value.equals(_value);"