public IIosView GetView([NotNull] IViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            return(ViewModelViewCache.GetView <IViewModel, IIosView <IViewModel> >(viewModel));
        }
        public TFragment GetFragment <TViewModel, TFragment>([NotNull] TViewModel viewModel)
            where TViewModel : class, IViewModel
            where TFragment : Fragment, IFlxFragment <TViewModel>
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            return(ViewModelViewCache.GetView <TViewModel, TFragment>(viewModel));
        }
        public TViewController GetViewController <TViewModel, TViewController>([NotNull] TViewModel viewModel)
            where TViewModel : class, IViewModel
            where TViewController : UIViewController, IFlxViewController <TViewModel>
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            return(ViewModelViewCache.GetView <TViewModel, TViewController>(viewModel));
        }
        public TActivity GetActivity <TViewModel, TActivity>([NotNull] TViewModel viewModel)
            where TViewModel : class, IViewModel
            where TActivity : Activity, IFlxActivity <TViewModel>
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            return(ViewModelViewCache.GetView <TViewModel, TActivity>(viewModel));
        }