private NamedMutableEntityTreeNode(TItem item,
                                    NamedMutableEntityTreeNode <TId, TItem> parent,
                                    Action <TItem, string> setItemName)
     : base(item, parent)
 {
     _setItemName = setItemName;
 }
 protected sealed override NamedMutableEntityTreeNode <TId, TItem> Create(TItem item, NamedMutableEntityTreeNode <TId, TItem> parent)
 {
     return(new NamedMutableEntityTreeNode <TId, TItem>(item, parent, _setItemName));
 }