public string GetStringProperty(string key, string defaultValue = null)
        {
            SourceControlVersionProperty property = this.Properties.FirstOrDefault(p => p.Key.ToLower() == key.ToLower());

            if (property == null)
            {
                return(defaultValue);
            }

            return(property.Value ?? defaultValue);
        }
        public void SetStringProperty(string key, string value)
        {
            SourceControlVersionProperty property = this.Properties.FirstOrDefault(p => p.Key.ToLower() == key.ToLower());

            if (property == null)
            {
                property = new SourceControlVersionProperty();
                property.SourceControlVersion = this;
                property.Key = key;
                this.Properties.Add(property);
            }

            property.Value = value;
        }