class TreeExplorerView extends Composite implements TreeExplorer.View {

    @SuppressWarnings("unchecked")
    public TreeExplorer.View addItem(final String uuid,
                                     final String name,
                                     final IsWidget icon,
                                     final boolean isContainer,
                                     final boolean state) {
        checkNotExist(uuid);
        final TreeItem.Type itemType = isContainer ? TreeItem.Type.CONTAINER : TreeItem.Type.ITEM;
        final TreeItem item = buildItem(uuid,
                                        name,
                                        icon,
                                        itemType);
        tree.addItem(item);

        item.setState(getState(state));
        return this;
    }

    @Inject public  TreeExplorerView(final Tree<TreeItem> tree);
      TreeExplorerView(final TreeExplorer presenter,
                     final Tree<TreeItem> tree,
                     final HandlerRegistration handlerRegistration
    );

}