private ReadOnlyCollection<DisplayFieldMetadata> InitializeDetailedViewDisplayFields(TreeViewFieldAttribute tvAttribute)
        {
            var fields = new List<DisplayFieldMetadata>();

            if (!string.IsNullOrEmpty(tvAttribute.DisplayFieldList))
            {
                var propertyNames = tvAttribute.DisplayFieldList.Split(new[] { "|" }, StringSplitOptions.None);
                var itemType = tvAttribute.ItemType;

                foreach (var propertyName in propertyNames)
                {
                    DisplayFieldMetadata displayField;

                    if (FieldMetadataFactory.TryCreateDisplayField(this, itemType, propertyName, out displayField))
                    {
                        fields.Add(displayField);
                    }
                }
            }

            return new ReadOnlyCollection<DisplayFieldMetadata>(fields);
        }
        private DisplayFieldMetadata InitializeDisplayField(TreeViewFieldAttribute tvAttribute)
        {
            DisplayFieldMetadata displayField;

            if (FieldMetadataFactory.TryCreateDisplayField(this, tvAttribute.ItemType, tvAttribute.RefFieldName, out displayField))
            {
                return displayField;
            }

            return null;
        }