public static bool ParameterTypesHasMultipleValues(SerializedProperty parameterTypesProperty)
        {
            string[] last = null;

            foreach (SerializedProperty arrayProperty in parameterTypesProperty.Multiple())
            {
                string[] current = new string[arrayProperty.arraySize];

                for (int i = 0; i < arrayProperty.arraySize; i++)
                {
                    SerializedProperty parameterTypeProperty = arrayProperty.GetArrayElementAtIndex(i);
                    current[i] = parameterTypeProperty.stringValue;
                }

                if (last != null && !current.SequenceEqual(last))
                {
                    return true;
                }

                last = current;
            }

            return false;
        }