public WUUpgrades(string val)
{
// Null or empty is fine, just ignore
if (string.IsNullOrWhiteSpace(val))
return;
// Check length
if (val.Length > 14)
throw new ArgumentException("Value must have <= 14 characters");
// Fix length for old values, from before ToString was fixed.
if (val.Length < 14)
val = val.PadLeft(14, '0');
this.ParseValue(val);
}