public void SetupCtrl(BaseFragment fragment, List <Legislator> legislators, bool showStateSpinner = true)
        {
            _fragment    = fragment;
            _legislators = legislators;

            //Setup Legislator RecyclerView
            var recyclerView  = FindViewById <RecyclerView>(Resource.Id.legislatorsViewer_legislatorsRecycler);
            var layoutManager = new LinearLayoutManager(_fragment.Context, LinearLayoutManager.Vertical, false);

            recyclerView.SetLayoutManager(layoutManager);

            //Setup Legislator Adapater
            _legislatorAdapter = new LegislatorAdapter(_fragment, _legislators);
            _legislatorAdapter.LegislatorClick += LegislatorClicked;
            recyclerView.SetAdapter(_legislatorAdapter);

            //Setup States spinner
            _statesAndTerrSpinner = FindViewById <Spinner>(Resource.Id.legislatorsViewer_statesSpinner);

            if (showStateSpinner)
            {
                _statesAndTerrWithDescription = Util.GetAllStatesAndTerrWithDescriptions();
                _stateAndTerrNames            = _statesAndTerrWithDescription.Select(s => s.Item2).ToList();

                var statesAdapter = new ArrayAdapter <string>(_fragment.Context, Android.Resource.Layout.SimpleSpinnerDropDownItem, _stateAndTerrNames);
                _statesAndTerrSpinner.Adapter       = statesAdapter;
                _statesAndTerrSpinner.ItemSelected += _states_ItemSelected;
            }
            else
            {
                _statesAndTerrSpinner.Visibility = ViewStates.Gone;
            }

            HookupToActivitySearchTextChangedDelegate();
        }
        protected override void Dispose(bool disposing)
        {
            _legislatorAdapter    = null;
            _statesAndTerrSpinner = null;
            _fragment             = null;

            _stateAndTerrNames            = null;
            _statesAndTerrWithDescription = null;
            _legislators = null;

            base.Dispose(disposing);
        }