public static void Open(CarObject car, CarSetupsRemoteSource forceRemoteSource = CarSetupsRemoteSource.None, bool forceNewWindow = false)
        {
            var main = Application.Current?.MainWindow as MainWindow;

            if (forceNewWindow || main == null || !main.IsActive || SettingsHolder.Interface.SkinsSetupsNewWindow)
            {
                CarSetupsDialog.Show(car, forceRemoteSource);
                return;
            }

            var remoteLinksStatus = GetRemoteLinksStatus();

            if (remoteLinksStatus != _remoteLinksStatus)
            {
                _remoteLinksStatus = remoteLinksStatus;
                main.MenuLinkGroups.RemoveRange(main.MenuLinkGroups.OfType <LinkGroupFilterable>().Where(x => x.GroupKey == "setups").ToList());
            }

            var existing = main.OpenSubGroup("setups", $"Setups for {car.DisplayName}",
                                             UriExtension.Create("/Pages/Lists/CarSetupsListPage.xaml?CarId={0}", car.Id));

            if (forceRemoteSource != CarSetupsRemoteSource.None)
            {
                existing.SetSelected(GetRemoteSourceUri(car.Id, forceRemoteSource));
            }
        }
        public static void Open([NotNull] CarObject car, CarSetupsRemoteSource forceRemoteSource = CarSetupsRemoteSource.None, bool forceNewWindow = false)
        {
            if (forceNewWindow ||
                Keyboard.Modifiers == ModifierKeys.Control && !User32.IsAsyncKeyPressed(System.Windows.Forms.Keys.K) ||
                !(Application.Current?.MainWindow is MainWindow main) || !main.IsActive ||
                SettingsHolder.Interface.SkinsSetupsNewWindow)
            {
                CarSetupsDialog.Show(car, forceRemoteSource);
                return;
            }

            var remoteLinksStatus = GetRemoteLinksStatus();

            if (remoteLinksStatus != _remoteLinksStatus)
            {
                _remoteLinksStatus = remoteLinksStatus;
                main.MenuLinkGroups.RemoveRange(main.MenuLinkGroups.OfType <LinkGroupFilterable>().Where(x => x.GroupKey == "setups").ToList());
            }

            var existing = main.OpenSubGroup("setups", $"Setups for {car.DisplayName}",
                                             UriExtension.Create("/Pages/Lists/CarSetupsListPage.xaml?CarId={0}", car.Id), FilterHints.CarSetups);

            foreach (var link in GetRemoteLinks(car.Id))
            {
                existing.FixedLinks.Add(link);
            }
            if (forceRemoteSource != CarSetupsRemoteSource.None)
            {
                existing.SetSelected(GetRemoteSourceUri(car.Id, forceRemoteSource));
            }
        }