public DataSourceInfo(ExtraPropertyInfo propertyInfo)
 {
     if (propertyInfo == null)
     {
         throw new ArgumentNullException();
     }
     _propertyId = propertyInfo.PropertyId;
     Description = Ut.StringForCurrentLanguage(propertyInfo.Descriptions);
 }
 /// <summary>
 /// Updates those properties that are allowed to change without treating the data source as a different source.
 /// There can be several versions of the same data source which may differ in the property description etc. This
 /// method is called to ensure such values are inherited from the latest version of the file.
 /// </summary>
 public void UpdateFrom(ExtraPropertyInfo propertyInfo)
 {
     if (propertyInfo == null)
     {
         throw new ArgumentNullException();
     }
     if (Description != Ut.StringForCurrentLanguage(propertyInfo.Descriptions))
     {
         Description = Ut.StringForCurrentLanguage(propertyInfo.Descriptions);
         if (PropertyChanged != null)
         {
             PropertyChanged(this, new PropertyChangedEventArgs("Description"));
         }
     }
 }