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