public TreeMenuDataSourceDelegate(
     nfloat cellHeight,
     Func <UICollectionView, NSIndexPath, ItemRelation, T, UICollectionViewCell> cellSelector,
     Action <UICollectionViewCell, ItemRelation> itemStateChanged)
 {
     _cellHeight       = cellHeight;
     _cellSelector     = cellSelector;
     _itemStateChanged = itemStateChanged;
     _itemCollection   = new TreeMenuItemCollection <T, TKey>();
 }
 public TreeMenuAdapterDelegate(
     int itemHeight,
     RecyclerView recyclerView,
     Func <ViewGroup, int, RecyclerView.ViewHolder> viewHolderSelector,
     Action <RecyclerView.ViewHolder, ItemRelation, T> viewHolderBound,
     Action <RecyclerView.ViewHolder, ItemRelation> itemStateChanged)
 {
     _itemHeight         = itemHeight;
     _recyclerView       = recyclerView;
     _viewHolderSelector = viewHolderSelector;
     _viewHolderBound    = viewHolderBound;
     _itemStateChanged   = itemStateChanged;
     _itemCollection     = new TreeMenuItemCollection <T, TKey>();
     _itemAnimator       = new ItemAnimator();
     _recyclerView.SetItemAnimator(_itemAnimator);
 }