internal Filler()
            {
                gameObject = DataManager.PooledInstantiate(
                    MechLabPanel.MECHCOMPONENT_ITEM_PREFAB,
                    BTLoadUtils.GetResourceType(nameof(BattleTechResourceType.UIModulePrefabs)),
                    null, null);


                {
                    element           = gameObject.GetComponent <MechLabItemSlotElement>();
                    element.AllowDrag = false;
                    {
                        var rect = gameObject.GetComponent <RectTransform>();
                        rect.pivot            = new Vector2(0, 1);
                        rect.anchorMin        = new Vector2(0, 0);
                        rect.anchorMax        = new Vector2(1, 1);
                        rect.anchoredPosition = Vector2.zero;
                    }
                }

                {
                    var rep = gameObject.transform.GetChild("Representation");
                    var layout_components = rep.GetChild("layout_component");
                    var backgrounds       = layout_components.GetChild("BACKGROUNDS");
                    backgroundsRect = backgrounds.GetComponent <RectTransform>();
                }
            }
        public static bool ChangeColor(MechLabItemSlotElement __instance, UIColorRefTracker ___backgroundColor,
                                       GameObject ___fixedEquipmentOverlay, IMechLabDropTarget ___dropParent,
                                       UIColorRefTracker ___nameTextColor, UIColorRefTracker ___iconColor, SVGImage ___icon)
        {
            try
            {
                ___backgroundColor.SetColor(__instance.ComponentRef);

                if (__instance.ComponentRef.DamageLevel == ComponentDamageLevel.Functional)
                {
                    ___nameTextColor.SetTColor(___iconColor, __instance.ComponentRef);
                }
                else
                {
                    ___iconColor.SetUIColor(UIColor.White);
                }

                if (___icon.vectorGraphics == null && Control.Settings.FixIcons &&
                    !string.IsNullOrEmpty(__instance.ComponentRef.Def.Description.Icon))
                {
                    var loadrequest =
                        UnityGameInstance.BattleTechGame.DataManager.CreateLoadRequest();
                    loadrequest.AddLoadRequest <SVGAsset>(BTLoadUtils.GetResourceType(nameof(BattleTechResourceType.SVGAsset)),
                                                          __instance.ComponentRef.Def.Description.Icon,
                                                          (id, icon) =>
                    {
                        if (icon != null)
                        {
                            ___icon.vectorGraphics = icon;
                        }
                    });
                    loadrequest.ProcessRequests();
                }

                var color_tracker = ___fixedEquipmentOverlay.GetComponent <UIColorRefTracker>();
                // reset colors in case its a pooled item that was previously fixed
                color_tracker.SetUIColor(Control.Settings.DefaultOverlayColor);

                if (__instance.ComponentRef != null && __instance.ComponentRef.IsFixed)
                {
                    var preinstalled = false;
                    if (___dropParent is MechLabLocationWidget widget)
                    {
                        preinstalled = __instance.ComponentRef.IsModuleFixed((widget.parentDropTarget as MechLabPanel).activeMechDef);
                    }

                    if (!Control.Settings.UseDefaultFixedColor)
                    {
                        ___fixedEquipmentOverlay.SetActive(true);
                        color_tracker.colorRef.UIColor = UIColor.Custom;
                        color_tracker.colorRef.color   = preinstalled
                            ? Control.Settings.PreinstalledOverlayColor
                            : Control.Settings.DefaultFlagOverlayColor;
                    }
                    else
                    {
                        ___fixedEquipmentOverlay.SetActive(preinstalled);
                    }
                }
                else
                {
                    ___fixedEquipmentOverlay.SetActive(false);
                }
                color_tracker.RefreshUIColors();

                return(false);
            }
            catch (Exception e)
            {
                Control.LogError(e);
                return(true);
            }
        }