private void ProcessViewModelState(ViewModelState state)
        {
            Log.Info($"Processing view model state {state}");

            if (state.IsRefreshed)
            {
                Log.Info("Refreshing set to false");
                _refreshLayout.Refreshing = false;
            }

            _loader.SetIsVisible(state.Display == DisplayState.Loading);

            if (_refreshLayout.SetIsVisible(state.Display == DisplayState.Result))
            {
                UpdateRecyclerView(state.Error, state.IsRefreshed);
            }

            if (_errorViewSwitcher.SetIsVisible(state.Display == DisplayState.Error))
            {
                _errorViewSwitcher.Switch(state.Error);
            }

            Log.Info(
                string.Format(
                    "End of ProcessViewModelState: loader {0}, refreshLayout {1}, error view {2}",
                    _loader.GetVisibilityDescription(),
                    _refreshLayout.GetVisibilityDescription(),
                    _errorViewSwitcher.GetVisibilitDescription()));
        }