Add Node generic superclass.
There are a lot of Node classes that look very alike and most of them are private so they can't be reused. I suggest creating a generic Node class that is extended by all the Node classes. I also suggest creating a new package for development utilities like this new Node class and the SearchAlgorithm interface, something like 'DevUtils'.