private void processFlightStageGroup()
        {
            StageManager prefabFlight = null;

            var prefabs = Resources.FindObjectsOfTypeAll <StageManager>();

            for (int i = prefabs.Length - 1; i >= 0; i--)
            {
                var pre = prefabs[i];

                if (pre.name == "StageManager")
                {
                    prefabFlight = pre;
                }
            }

            if (prefabFlight == null)
            {
                return;
            }

            try
            {
                var fields = typeof(StageIcon).GetFields(BindingFlags.NonPublic | BindingFlags.Instance).ToArray();

                StageIconInfoBox infoBar = fields[12].GetValue(prefabFlight.stageIconPrefab) as StageIconInfoBox;

                panelInfoBarPrefab = Instantiate(infoBar, BasicDeltaV_Settings.Instance.transform);
                panelInfoBarPrefab.gameObject.name = "BasicerDeltaV";

                RectTransform infoRect = panelInfoBarPrefab.GetComponent <RectTransform>();

                infoRect.anchorMin        = new Vector2(1, 1);
                infoRect.anchorMax        = new Vector2(1, 1);
                infoRect.anchoredPosition = new Vector2(25, 12);

                panelInfoBarPrefab.GetComponent <LayoutElement>().ignoreLayout = true;

                panelInfoBarPrefab.SetCaption(string.Format("<color=#{0}> ΔV</color>", BasicDeltaV.TextColor));
                panelInfoBarPrefab.SetProgressBarBgColor(new Color(0.51765f, 0.71765f, 0.003922f, 0.6f));
                panelInfoBarPrefab.SetProgressBarColor(new Color(1, 1, 0.078431f, 0.6f));

                Slider slider = panelInfoBarPrefab.GetComponentInChildren <Slider>();

                RectTransform sliderRect = slider.GetComponent <RectTransform>();

                sliderRect.sizeDelta        = new Vector2(sliderRect.sizeDelta.x, 16);
                sliderRect.anchoredPosition = new Vector2(sliderRect.anchoredPosition.x, -2);

                TextMeshProUGUI captionText = panelInfoBarPrefab.GetComponentsInChildren <TextMeshProUGUI>()[1];

                captionText.color = Color.white;

                RectTransform captionRect = captionText.rectTransform;

                captionRect.sizeDelta = new Vector2(captionRect.sizeDelta.x, 16);

                tooltipPrefab = panelInfoBarPrefab.GetComponent <TooltipController_Text>();

                //BasicDeltaV.BasicLogging("Toolip: Enabled: {0} tooltip prefab: {1} instance" , tool.enabled
                //    , tool.prefab == null ? "Null" : "Valid", tool.TooltipPrefabInstance == null ? "Null" : "Valid");

                tooltipPrefab.enabled          = true;
                tooltipPrefab.continuousUpdate = true;

                Destroy(panelInfoBarPrefab.GetComponentInChildren <TextMeshProUGUI>().gameObject);
                Destroy(panelInfoBarPrefab.GetComponentInChildren <Image>().gameObject);

                //BasicDeltaV.BasicLogging("DV Panel Prefab processed");
            }
            catch (Exception e)
            {
                panelInfoBarPrefab = null;

                BasicDeltaV.BasicLogging("Error in stage panel info box UI: {0}", e);
            }

            StageGroup group = prefabFlight.stageGroupPrefab;

            if (stageGroupSprite == null)
            {
                Transform layout = group.transform.Find("IconLayout");

                if (layout != null)
                {
                    stageGroupSprite = layout.GetComponent <Image>().sprite;
                }
            }

            group.gameObject.AddComponent <BasicDeltaV_StageGroupHandler>();

            stageFlightGroupProcessed = true;
        }