protected void GetFirstPieces(int howMany, out DeckObservableDict <D> thisList) { if (ObjectList !.Count == 0) { throw new Exception("There must be at least one piece in order to get the first pieces"); } thisList = new DeckObservableDict <D>(); //i think. if (RemainingList.Count < howMany) { throw new Exception("There are only " + RemainingList.Count + " but was trying to get " + howMany + " pieces"); } ICustomBasicList <D> newList; newList = RemainingList.GetRandomList(true, howMany); if (RemainingList.Count == 0) { throw new Exception("Can't have 0 pieces remaining after getting random list"); } foreach (var thisCard in newList) { thisCard.IsUnknown = false; } thisList.ReplaceRange(newList); }