private ITreeNode removeClassifiableNodeFromTree <TClassifiable>(TClassifiable classifiable) where TClassifiable : class, IClassifiable
        {
            var classifiableNode = _explorerPresenter.NodeFor(classifiable);

            _explorerPresenter.RemoveNode(classifiableNode);
            var parent = classifiableNode.ParentNode;

            if (parent != null)
            {
                parent.RemoveChild(classifiableNode);
            }

            return(classifiableNode);
        }
        private ITreeNode addObservedDataClassificationToTree(ClassifiableObservedData classifiable)
        {
            var parent     = classifiable.Parent ?? _observedDataFolder;
            var parentNode = _explorerPresenter.NodeFor(parent).DowncastTo <ITreeNode <IClassification> >();

            return(addClassifiableObservedDataToTree(parentNode, classifiable));
        }