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);
        }