A value provider for tree paths.
{@link #getValue(Object)} can be used to find out the value of a particulartree path, the path doesn't need to be a complete path from the root of the tree to a leaf node, it can be a sub path such that it's a parent path of one or more child paths, than the value of this parent path will be the sum of all its child paths.
This value provider also take a {@link IProvider} for getting the paths, thepaths supplied should be complete paths (all are tree leaves), and the value of each of these paths is determined by a {@link IConverter}.
This class also accepts a {@link ICategorizer} for getting the category ofeach path, if the category of a given path is equal to {@link #getVisualCategory()} then {@link #shouldPaint(Object)} will returntrue on the given path.