private void SetActiveItem(StationViewModel value)
        {
            if (value == activeItem)
                return;
            if (value != null && !value.CanOpenDetails())
                return;

            bool? doShow = null;
            if (activeItem == null && value != null)
                doShow = true;
            else if (activeItem != null && value == null)
                doShow = false;

            #region ActiveItem in header animation
            /*
                if (doShow.HasValue)
                {
                    SlideTransition slideTransition;
                    if (doShow.Value)
                        slideTransition = new SlideTransition { Mode = SlideTransitionMode.SlideDownFadeIn };
                    else
                        slideTransition = new SlideTransition { Mode = SlideTransitionMode.SlideUpFadeOut };
                    ITransition transition = slideTransition.GetTransition(view.ActiveItemContainer);
                    EventHandler transitionComplete = (s, e) => {
                        transition.Stop();
                        if (!doShow.Value)
                            NotifyOfPropertyChange(() => ActiveItem);
                        transition.Completed -= transitionComplete;
                    };
                    transition.Completed += transitionComplete;
                    transition.Begin();
                }
                */
            #endregion

            if (activeItem != null)
                DeactivateItem(activeItem, false);
            activeItem = value;
            if (activeItem != null)
            {
                if (CurrentCoordinate != null && cityContext.IsCurrentCitySelected())
                    activeItem.Location.CurrentCoordinate = CurrentCoordinate;
                ActivateItem(activeItem);
            }
            if (!doShow.HasValue || doShow.Value)
                NotifyOfPropertyChange(() => ActiveItem);
        }