Hi,
I believe that that the Node.equals(obj) method doesn’t meet the general contract as described in the javadoc for Object.equals() - specifically the last case “For any non-null reference value x, x.equals(null) should return false” It currently throws a null pointer exception because it tries to do obj.get() on a null obj.
regards,
Paul Morris