/// <summary> /// Same as Randomize, but changes the original List's elements order /// </summary> /// <typeparam name="T"></typeparam> /// <param name="e"></param> /// <returns></returns> public static IEnumerable <T> RandomizeMutable <T>(this IList <T> e) { var n = e.Count; while (n > 1) { n--; var k = SafeRandom.GetInt(n + 1); T value = e[k]; e[k] = e[n]; e[n] = value; } return(e); }