}             // proc WriteType

            public void WriteItem(DEListItemWriter xml, object item)
            {
                xml.WriteStartProperty(typeName);
                xml.WriteProperty("@key", keyProperty.GetValue(item));
                var itemValue = itemProperty.GetValue(item);

                for (var i = 0; i < properties.Length; i++)
                {
                    properties[i].WriteProperty(xml, itemValue);
                }
                xml.WriteEndProperty();
            }     // proc WriteItem
 public void WriteProperty(DEListItemWriter xml, object item)
 => xml.WriteProperty(attribute.Name, GetValueSafe(item));