/// <summary> /// Combines this version with the specified key value tuple and specified version tuple. /// </summary> /// <param name="key">The key to combine.</param> /// <param name="versionInfo">The version info to combine.</param> /// <returns>Combined version info.</returns> internal VersionInfo Combine(Key key, VersionInfo versionInfo) { ArgumentValidator.EnsureArgumentNotNull(key, "key"); Tuple resultVersion = Value; if (resultVersion == null) { resultVersion = key.Value; } else { resultVersion = resultVersion.Combine(key.Value); } if (!versionInfo.IsVoid) { resultVersion = resultVersion.Combine(versionInfo.Value); } return(new VersionInfo(resultVersion.ToRegular())); }