diff --git a/Mage.Sets/src/mage/cards/s/SilverWyvern.java b/Mage.Sets/src/mage/cards/s/SilverWyvern.java index 58b69e9e09..1a01717a61 100644 --- a/Mage.Sets/src/mage/cards/s/SilverWyvern.java +++ b/Mage.Sets/src/mage/cards/s/SilverWyvern.java @@ -71,7 +71,12 @@ enum SilverWyvernPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePl @Override public boolean apply(ObjectSourcePlayer<StackObject> input, Game game) { - Stream<UUID> stream = input.getObject() + return makeStream(input, game).anyMatch(input.getSourceId()::equals) + && makeStream(input, game).allMatch(input.getSourceId()::equals); + } + + private static final Stream<UUID> makeStream(ObjectSourcePlayer<StackObject> input, Game game) { + return input.getObject() .getStackAbility() .getTargets() .stream() @@ -80,7 +85,5 @@ enum SilverWyvernPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePl .map(game::getPermanent) .filter(Objects::nonNull) .map(MageItem::getId); - return stream.allMatch(input.getSourceId()::equals) - && stream.anyMatch(input.getSourceId()::equals); } }