public void CopyTo(out PropertyModification[] a_rPropertyModifications)
    {
        a_rPropertyModifications = new PropertyModification[m_oNestedPrefabPropertyModifications.Count];
        for (int i = 0; i < a_rPropertyModifications.Length; i++)
        {
            PropertyModification             rPropertyModification             = new PropertyModification();
            NestedPrefabPropertyModification rNestedPrefabPropertyModification = m_oNestedPrefabPropertyModifications[i];

            rNestedPrefabPropertyModification.CopyTo(ref rPropertyModification);
            a_rPropertyModifications[i] = rPropertyModification;
        }
    }
    public void CopyFrom(PropertyModification[] a_rPropertModifications, UnityEngine.Object a_rTargetPrefabInstance)
    {
        m_oNestedPrefabPropertyModifications.Clear();

        if (a_rPropertModifications != null)
        {
            foreach (PropertyModification rPropertyModification in a_rPropertModifications)
            {
                NestedPrefabPropertyModification rNestedPrefabPropertyModification = new NestedPrefabPropertyModification();
                rNestedPrefabPropertyModification.CopyFrom(rPropertyModification);
                if (rNestedPrefabPropertyModification.CanUse(a_rTargetPrefabInstance))
                {
                    m_oNestedPrefabPropertyModifications.Add(rNestedPrefabPropertyModification);
                }
            }
        }
    }