diff --git a/forge-game/src/main/java/forge/game/card/CardLists.java b/forge-game/src/main/java/forge/game/card/CardLists.java index 44618ed8182..a2248a37e86 100644 --- a/forge-game/src/main/java/forge/game/card/CardLists.java +++ b/forge-game/src/main/java/forge/game/card/CardLists.java @@ -256,7 +256,11 @@ public class CardLists { } public static CardCollection filter(Iterable cardList, Predicate f1, Predicate f2) { - return new CardCollection(Iterables.filter(Iterables.filter(cardList, f1), f2)); + return new CardCollection(Iterables.filter(cardList, Predicates.and(f1, f2))); + } + + public static CardCollection filter(Iterable cardList, Iterable> filt) { + return new CardCollection(Iterables.filter(cardList, Predicates.and(filt))); } /** @@ -275,7 +279,11 @@ public class CardLists { } public static List filterAsList(Iterable cardList, Predicate f1, Predicate f2) { - return Lists.newArrayList((Iterables.filter(Iterables.filter(cardList, f1), f2))); + return Lists.newArrayList(Iterables.filter(cardList, Predicates.and(f1, f2))); + } + + public static List filterAsList(Iterable cardList, Iterable> filt) { + return Lists.newArrayList(Iterables.filter(cardList, Predicates.and(filt))); } public static int count(Iterable cardList, Predicate filt) {