private static Rect DrawPreview(Rect position, SerializedProperty property, ShowAssetPreviewAttribute attribute)
        {
            Texture2D preview;

            if (property.propertyType == SerializedPropertyType.ObjectReference && property.objectReferenceValue != null &&
                (preview = AssetPreview.GetAssetPreview(property.objectReferenceValue)) != null)
            {
                var(width, height) = GetClampedWidthAndHeight(preview.width, preview.height, attribute.Size);

                GUI.Label(MightyGUIUtilities.GetAlignPosition(position, width, height, attribute.Align), preview);
                position = MightyGUIUtilities.JumpHeight(position, height + MightyGUIUtilities.FIELD_SPACING);
            }
            else
            {
                MightyGUIUtilities.DrawHelpBox(new Rect(position.x, position.y, position.width, 40),
                                               $"{property.name} doesn't have an asset preview");
                position = MightyGUIUtilities.JumpHeight(position, 40);
            }

            return(position);
        }