+package solitaire;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+final class Waste {
+ private final List<Card> cards;
+
+ Waste() {
+ this.cards = new LinkedList<>();
+ }
+
+ void add(Card card) {
+ cards.add(card);
+ }
+
+ Card draw() {
+ return cards.removeLast();
+ }
+
+ boolean isEmpty() {
+ return cards.isEmpty();
+ }
+
+ @Override
+ public String toString() {
+ if (isEmpty())
+ return "{ }";
+
+ return cards.stream().map(String::valueOf).collect(Collectors.joining("", "{ ", " }"));
+ }
+}