private void scopedRegistryTreeViewInitialize()
        {
            if (scopedRegistriesTreeViesState == null)
            {
                scopedRegistriesTreeViesState = new TreeViewState();
            }
            var firstInit   = scopedRegistriesMultiColumnHeaderState == null;
            var headerState = CustomPackageManagerSRTreeView.CreateDefaultMultiColumnHeaderState(GUILayoutUtility.GetLastRect().width);

            if (MultiColumnHeaderState.CanOverwriteSerializedFields(scopedRegistriesMultiColumnHeaderState, headerState))
            {
                MultiColumnHeaderState.OverwriteSerializedFields(scopedRegistriesMultiColumnHeaderState, headerState);
            }
            scopedRegistriesMultiColumnHeaderState = headerState;

            var multiColumnHeader = new CustomPackageManagerMultiColumnHeader(headerState);

            if (firstInit)
            {
                multiColumnHeader.ResizeToFit();
            }

            var treeModel = new TreeModel <CustomPackageManagerScopedRegistry>(scopedRegistries);

            scopedRegistriesTreeView = new CustomPackageManagerSRTreeView(scopedRegistriesTreeViesState, multiColumnHeader, treeModel);
            scopedRegistriesTreeView.OnContextClicked += OnScopedRegistryContextClicked;
            scopedRegistriesTreeView.OnRenameChanged  += OnScopedRegistryScopesChange;
        }
        private void packageTreeViewInitialize()
        {
            if (packageTreeViewState == null)
            {
                packageTreeViewState = new TreeViewState();
            }
            var firstInit   = packageMultiColumnHeaderState == null;
            var headerState = CustomPackageManagerTreeView.CreateDefaultMultiColumnHeaderState(GUILayoutUtility.GetLastRect().width);

            if (MultiColumnHeaderState.CanOverwriteSerializedFields(packageMultiColumnHeaderState, headerState))
            {
                MultiColumnHeaderState.OverwriteSerializedFields(packageMultiColumnHeaderState, headerState);
            }
            packageMultiColumnHeaderState = headerState;

            var multiColumnHeader = new CustomPackageManagerMultiColumnHeader(headerState);

            if (firstInit)
            {
                multiColumnHeader.ResizeToFit();
            }

            var treeModel = new TreeModel <CustomPackageManagerPackage>(packages);

            packageTreeView = new CustomPackageManagerTreeView(packageTreeViewState, multiColumnHeader, treeModel);
            packageTreeView.OnContextClicked += OnPackageContextClicked;
            packageTreeView.OnRenameChanged  += OnChangePackageVersion;
        }