public Property CreateProperty(IRepository repository) { var property = _factory.CreateProperty(_attribute.GetDomPath(_factory), !string.IsNullOrEmpty(_attribute.Value)); property.InitializeDefaultPropertyDefinitionSet( propertyDefinitions => propertyDefinitions.Append( _factory.GetAllBclClasses() .Select(bclClass => _factory.CreatePropertyDefinition(bclClass, _attribute.Name.ToString(), bclClass.IsLegalStringValue(_attribute.Value), true, AttributeProxy.XmlAttribute(_attribute.Name.ToString()))))); return(property); }