PackageQualityVersions(PackageQualityVersions q, SVersion v)
 {
     Debug.Assert(v?.IsValid ?? false);
     _ci  = q.CI;
     _exp = q.Exploratory;
     _pre = q.Preview;
     _lat = q.Latest;
     _sta = q.Stable;
     Apply(v, ref _ci, ref _exp, ref _pre, ref _lat, ref _sta);
 }
 /// <summary>
 /// Retuns this <see cref="PackageQualityVersions"/> or a new one combined with another one.
 /// </summary>
 /// <param name="v">Other versions to be combined.</param>
 /// <returns>The resulting QualityVersions.</returns>
 public PackageQualityVersions With(PackageQualityVersions other)
 {
     if (!IsValid)
     {
         return(other);
     }
     if (!other.IsValid)
     {
         return(this);
     }
     return(new PackageQualityVersions(other.Concat(this)));
 }