// (case 1029160) Modified version of EditorGUI.DoPopup to fit large data list query.
        private AnimationClip DoClipPopup(AnimationClip clip, GUIStyle style)
        {
            Rect position = EditorGUILayout.GetControlRect(false, EditorGUI.kSingleLineHeight, style);

            clip = popupCI.GetSelectedClipForControl(clip);
            clip = addCI.GetSelectedClipForControl(clip);

            Font originalFont = style.font;

            if (originalFont && EditorGUIUtility.GetBoldDefaultFont() && originalFont == EditorStyles.miniFont)
            {
                style.font = EditorStyles.miniBoldFont;
            }

            GUIContent buttonContent = EditorGUIUtility.TempContent(CurveUtility.GetClipName(clip));

            buttonContent.tooltip = AssetDatabase.GetAssetPath(clip);

            if (GUI.Button(position, buttonContent, style))
            {
                DisplayClipMenu(position, clip);
            }

            return(clip);
        }
        // (case 1029160) Modified version of EditorGUI.DoPopup to fit large data list query.
        private AnimationClip DoClipPopup(AnimationClip clip, GUIStyle style)
        {
            Rect position  = EditorGUILayout.GetControlRect(false, EditorGUI.kSingleLineHeight, style);
            int  controlID = GUIUtility.GetControlID(s_ClipPopupHash, FocusType.Keyboard, position);

            clip = ClipPopupCallbackInfo.GetSelectedClipForControl(controlID, clip);

            Event evt = Event.current;

            switch (evt.type)
            {
            case EventType.Repaint:
                Font originalFont = style.font;
                if (originalFont && EditorGUIUtility.GetBoldDefaultFont() && originalFont == EditorStyles.miniFont)
                {
                    style.font = EditorStyles.miniBoldFont;
                }

                GUIContent buttonContent = EditorGUIUtility.TempContent(CurveUtility.GetClipName(clip));
                buttonContent.tooltip = AssetDatabase.GetAssetPath(clip);

                style.Draw(position, buttonContent, controlID, false);

                style.font = originalFont;
                break;

            case EventType.MouseDown:
                if (evt.button == 0 && position.Contains(evt.mousePosition))
                {
                    DisplayClipMenu(position, controlID, clip);
                    GUIUtility.keyboardControl = controlID;
                    evt.Use();
                }
                break;

            case EventType.KeyDown:
                if (evt.MainActionKeyForControl(controlID))
                {
                    DisplayClipMenu(position, controlID, clip);
                    evt.Use();
                }
                break;
            }

            return(clip);
        }