This class encapsulates the model for displaying the resources within the tree-view. It will update the tree and the tree-view based upon model changes and also keep track of changes due to inheritance or changes in inherited nodes.
This model does manage two separate view of the profile. The simple one is the straight forward profile tree of resources, methods and parameters.
In parallel the model will maintain a mapping of extendable nodes and their &qquot;extended" version. For displaying inherited properties, we need to use the "extended" version of these nodes.
One more contribution of this class is the back-reference mapping. This mapping maintains the list of inheriting nodes for each extension. That way it is possible to update the view of an extended node if its extension has changed.
TODO: Currently the implementation is very simple and relies on an "on-the-fly" extension of nodes that extend super classes. This will obviously become slow on big profiles so the ideas of above need to be implemented at some point...
@author Christian Bockermann <chris@jwall.org>