public static void GetArrayItems(this SerializedProperty property, out string[] result)
        {
            SerializedProperty serializedProperty = property.Copy();
            int arraySizeAndAdvanceToFirstItem    = SerializedObjectExtension.GetArraySizeAndAdvanceToFirstItem(serializedProperty);

            result = new string[arraySizeAndAdvanceToFirstItem];
            for (int i = 0; i < arraySizeAndAdvanceToFirstItem; i++)
            {
                serializedProperty.Next(false);
                result[i] = serializedProperty.stringValue;
            }
        }
        public static void RemoveArrayItem(this SerializedProperty property, string item)
        {
            SerializedProperty serializedProperty = property.Copy();
            int arraySizeAndAdvanceToFirstItem    = SerializedObjectExtension.GetArraySizeAndAdvanceToFirstItem(serializedProperty);

            for (int i = 0; i < arraySizeAndAdvanceToFirstItem; i++)
            {
                serializedProperty.Next(false);
                if (serializedProperty.stringValue == item)
                {
                    property.DeleteArrayElementAtIndex(i);
                    return;
                }
            }
        }