Inheritance: PropertyDrawer
        void DrawIgnoredPairElement(Rect rect, int index, bool isActive, bool isFocused)
        {
            Rect leftRect  = new Rect(rect.position, new Vector2(rect.width / 2 - HORIZONTAL_PAIR_SPACING, rect.height));
            Rect rightRect = new Rect(rect.x + rect.width / 2 + HORIZONTAL_PAIR_SPACING, rect.y, leftRect.width, leftRect.height);

            SerializedProperty boneA = bonePairsList.serializedProperty.GetArrayElementAtIndex(index).FindPropertyRelative("boneA.name");
            SerializedProperty boneB = bonePairsList.serializedProperty.GetArrayElementAtIndex(index).FindPropertyRelative("boneB.name");

            BoneNamePopupDrawer.Draw(leftRect, boneA, Definition, GUIContent.none);
            BoneNamePopupDrawer.Draw(rightRect, boneB, Definition, GUIContent.none);

            if (!BoneNamePopupDrawer.IsValidValue(boneA.stringValue, Definition) || !BoneNamePopupDrawer.IsValidValue(boneB.stringValue, Definition))
            {
                SetIsNotValid();
            }
        }
        void DrawDisabledBonesElement(Rect rect, int index, bool isActive, bool isFocused)
        {
            SerializedProperty property = disabledList.serializedProperty.GetArrayElementAtIndex(index);

            BoneNamePopupDrawer.Draw(rect, property.FindPropertyRelative("name"), Definition, GUIContent.none);
        }