private static Rect GetPropertyRect(this PropertyHandler handler, SerializedProperty property, GUIContent label,
                                            bool includeChildren, GUILayoutOption[] options)
        {
            if (property.propertyType == SerializedPropertyType.Boolean &&
                handler.propertyDrawer == null &&
                (handler.m_DecoratorDrawers == null || handler.m_DecoratorDrawers.Count == 0))
            {
                return(EditorGUILayout.GetToggleRect(true, options));
            }

            return(EditorGUILayout.GetControlRect(
                       EditorGUI.LabelHasContent(label),
                       handler.GetHeight(property, label, includeChildren),
                       options));
        }