/// <summary> /// Find the most specific ItemVersion which contains all the ItemVersions in the list /// </summary> /// <param name="versions">list of ItemVersions</param> /// <returns>Most specific ItemVersion containing all in list</returns> public static ItemVersion LeastAbstractCommonVersion(IEnumerable <ItemVersion> versions) { ItemVersion result = null; versions.Do(v => result = (result == null ? v : result.LeastAbstractCommonVersion(v))); return(result); }