void SetItemOverlayIcon(GameObjectTreeViewItem item)
        {
            item.overlayIcon = null;

            var go = item.objectPPTR as GameObject;

            if (go == null)
            {
                return;
            }

            if (PrefabUtility.IsAddedGameObjectOverride(go))
            {
                item.overlayIcon = EditorGUIUtility.LoadIcon("PrefabOverlayAdded Icon");
            }


            if (!EditorApplication.isPlaying)
            {
                Asset asset = GetAsset(item);
                if (asset != null && !m_HierarchyPrefabToAssetIDMap.ContainsKey(item.id))
                {
                    string  metaPath  = asset.path.Trim('/') + ".meta";
                    Asset   metaAsset = Provider.GetAssetByPath(metaPath);
                    Asset[] assets    = new[] { asset, metaAsset };

                    m_HierarchyPrefabToAssetIDMap.Add(item.id, assets);
                }
            }
        }
        void SetItemOverlayIcon(GameObjectTreeViewItem item)
        {
            item.overlayIcon = null;

            var go = item.objectPPTR as GameObject;

            if (go == null)
            {
                return;
            }

            if (PrefabUtility.IsAddedGameObjectOverride(go))
            {
                item.overlayIcon = EditorGUIUtility.LoadIcon("PrefabOverlayAdded Icon");
            }


            if (!EditorApplication.isPlaying)
            {
                var vco = VersionControlManager.activeVersionControlObject;
                if (vco != null)
                {
                    if (!m_HierarchyPrefabToAssetPathMap.ContainsKey(item.id))
                    {
                        var guid = GetAssetGUID(item);
                        if (!string.IsNullOrEmpty(guid))
                        {
                            var assetPath = AssetDatabase.GUIDToAssetPath(guid);
                            if (!string.IsNullOrEmpty(assetPath))
                            {
                                m_HierarchyPrefabToAssetPathMap.Add(item.id, assetPath);
                            }
                        }
                    }
                }
                else
                {
                    var asset = GetAsset(item);
                    if (asset != null && !m_HierarchyPrefabToAssetIDMap.ContainsKey(item.id))
                    {
                        var metaPath  = asset.path.Trim('/') + ".meta";
                        var metaAsset = Provider.GetAssetByPath(metaPath);
                        var assets    = new[] { asset, metaAsset };

                        m_HierarchyPrefabToAssetIDMap.Add(item.id, assets);
                    }
                }
            }
        }
        void SetItemOverlayIcon(GameObjectTreeViewItem item)
        {
            item.overlayIcon = null;

            var go = item.objectPPTR as GameObject;

            if (go == null)
            {
                return;
            }

            if (PrefabUtility.IsAddedGameObjectOverride(go))
            {
                item.overlayIcon = EditorGUIUtility.LoadIcon("PrefabOverlayAdded Icon");
            }
        }