public int[] Extract3Cups() { var idx = Cups.IndexOf(CurrentCup); int[] cups3 = new int[3]; var count = (Cups.Count - (idx + 1)) >= 3 ? 3 : (Cups.Count - (idx + 1)); Cups.CopyTo(idx + 1, cups3, 0, count); Cups.RemoveRange(idx + 1, count); if (count < 3) { count = 3 - count; Cups.CopyTo(0, cups3, 3 - count, count); Cups.RemoveRange(0, count); } return(cups3); }