GraphNode
Graph node which represents the object as a part of some hierarchy
Classes implementing this interface should take care of equals and hashCode because they are used for testing the nodes for equality, and wrong implementation of these methods may lead to the wrong graph rendering, StackOverflow / OutOfMemory errors and so on. See example in NodeWrapper
Parameters
T
Underlying object type