/// <summary>
        /// Disposes the view based on its hide action type.
        /// </summary>
        protected virtual void DisposeInternal(INavigationView view)
        {
            view.OnPostHide();

            switch (view.HideAction)
            {
            case HideActionType.Recycle:
                view.Active = false;
                break;

            case HideActionType.Destroy:
                views.Remove(view);
                GameObject.Destroy(view.RawObject);
                break;

            default:
                Logger.LogWarning($"Navigator.DisposeInternal - Unsupported hide action type: {view.HideAction}");
                break;
            }
        }