private static string[] GenerateMsiConditions(WixItem item, HashSet <WixItem> processedItems)
        {
            List <string> conditions = new List <string>();

            if (!processedItems.Contains(item))
            {
                processedItems.Add(item);

                if (item.Group != null)
                {
                    conditions.AddRange(WixBackendCompilerServices.GenerateMsiConditions(item.Group, processedItems));
                }

                if (item.Parent != null)
                {
                    conditions.AddRange(WixBackendCompilerServices.GenerateMsiConditions(item.Parent, processedItems));
                }

                string condition = Install.GetCondition(item.Item);
                if (!String.IsNullOrEmpty(condition))
                {
                    conditions.Add(condition);
                }
            }

            return(conditions.ToArray());
        }