public static void SetAnimeListAdapter(this LinearLayout listView, Context context,
                                               IList <AnimeItemViewModel> items,
                                               AnimeListDisplayModes mode, Action <AnimeItemViewModel> onClick = null)
        {
            switch (mode)
            {
            case AnimeListDisplayModes.IndefiniteList:
                listView.SetAdapter(items.GetAdapter((i, model, arg3) =>
                {
                    var view = new AnimeListItem(context, onClick);
                    view.BindModel(model, false);
                    return(view);
                })
                                    );
                break;

            case AnimeListDisplayModes.IndefiniteGrid:
                listView.SetAdapter(items.GetAdapter((i, model, arg3) =>
                {
                    var view = new AnimeGridItem(context, false, onClick);
                    view.BindModel(model, false);
                    return(view);
                })
                                    );
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(mode), mode,
                                                      "SetAnimeListAdapter, do we want compact now?");
            }
        }