private void RemoveIconIfExists()
        {
            List <string> stringList = new List <string>();
            JsonParser    jsonParser = new JsonParser(this.mParentWindow.mVmName);

            foreach (AppIconModel appIconModel in this.dictAppIcons.Values)
            {
                AppIconModel icon = appIconModel;
                lock (((ICollection)PromotionObject.Instance.AppSuggestionList).SyncRoot)
                {
                    if (!icon.IsAppSuggestionActive)
                    {
                        if (!icon.IsInstalledApp)
                        {
                            if (!PromotionObject.Instance.AppSuggestionList.Any <AppSuggestionPromotion>((Func <AppSuggestionPromotion, bool>)(_ => string.Equals(_.AppLocation, "more_apps", StringComparison.InvariantCulture))))
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    if (!PromotionObject.Instance.AppSuggestionList.Any <AppSuggestionPromotion>((Func <AppSuggestionPromotion, bool>)(_ => string.Equals(_.AppPackage, icon.PackageName, StringComparison.InvariantCultureIgnoreCase))))
                    {
                        if (!jsonParser.IsAppInstalled(icon.PackageName))
                        {
                            stringList.Add(icon.PackageName);
                        }
                        else
                        {
                            icon.RemovePromotionBorderInstalledApp();
                        }
                    }
                }
            }
            foreach (string package in stringList)
            {
                this.RemoveAppIcon(package, (AppIconModel)null);
            }
        }