How can I improve this code and avoid crutch? Can I use a case operator?public bool Crutch;public void Resize(SizeChangedEventArgs input)    {        if (input.NewSize.Width < 450 && Crutch)        {            if (!ServiceLocator.Current.GetInstance<MultiViewModel>().EightBoxesCommandIsEnabled)            {                ChangeToSmall(2, 2);            }        }        if (input.NewSize.Width < 550 && !Crutch)        {            if (!ServiceLocator.Current.GetInstance<MultiViewModel>().EightBoxesCommandIsEnabled)            {                ChangeToSmall(3, 2);            }            Crutch = true;        }        if (input.NewSize.Width > 450 && Crutch)        {            if (!ServiceLocator.Current.GetInstance<MultiViewModel>().EightBoxesCommandIsEnabled)            {                ChangeToBig(3, 2);            }            Crutch = false;        }        if (input.NewSize.Width > 550 && !Crutch)        {            if (!ServiceLocator.Current.GetInstance<MultiViewModel>().EightBoxesCommandIsEnabled)            {                ChangeToBig(4, 2);            }        }    }
Arrow anti pattern with crutch
c#