private static void OnGUI()
        {
            List <DiagnosticSwitch> list = new List <DiagnosticSwitch>();

            Debug.GetDiagnosticSwitches(list);
            list.Sort((DiagnosticSwitch a, DiagnosticSwitch b) => Comparer <string> .Default.Compare(a.name, b.name));
            DiagnosticSwitchPreferences.DoTopBar();
            bool flag = false;

            using (EditorGUILayout.VerticalScrollViewScope verticalScrollViewScope = new EditorGUILayout.VerticalScrollViewScope(DiagnosticSwitchPreferences.s_ScrollOffset, false, GUI.skin.verticalScrollbar, DiagnosticSwitchPreferences.s_Resources.scrollArea, new GUILayoutOption[0]))
            {
                string filterString = DiagnosticSwitchPreferences.s_FilterString.ToLowerInvariant().Trim();
                for (int i = 0; i < list.Count; i++)
                {
                    if (DiagnosticSwitchPreferences.PassesFilter(list[i], filterString))
                    {
                        flag |= DiagnosticSwitchPreferences.DisplaySwitch(list[i]);
                    }
                }
                DiagnosticSwitchPreferences.s_ScrollOffset = verticalScrollViewScope.scrollPosition;
            }
            Rect rect = GUILayoutUtility.GetRect(DiagnosticSwitchPreferences.s_Resources.restartNeededWarning, EditorStyles.helpBox, new GUILayoutOption[]
            {
                GUILayout.MinHeight(40f)
            });

            if (flag)
            {
                EditorGUI.HelpBox(rect, DiagnosticSwitchPreferences.s_Resources.restartNeededWarning.text, MessageType.Warning);
            }
        }