GetVersionInRange(SortedDictionary <Version, string> availableVersions, VersionRange range)
 {
     for (int i = availableVersions.Count - 1; i >= 0; i--)
     {
         foreach (KeyValuePair <Version, string> pair in availableVersions.Reverse())
         {
             if (range.ContainsVersion(pair.Key))
             {
                 return(new Tuple <Tuple <Version, string>, bool>(new Tuple <Version, string>(pair.Key, pair.Value), true));
             }
         }
     }
     // Result, Found
     return(new Tuple <Tuple <Version, string>, bool>(default(Tuple <Version, string>), false));
 }