| 565 | } |
| 566 | |
| 567 | private void reIndex() { |
| 568 | uniqueCardsByRules.clear(); |
| 569 | uniqueCardsByFlavorName.clear(); |
| 570 | for (Entry<CardRules, Collection<PaperCard>> kv : allCardsByRules.asMap().entrySet()) { |
| 571 | PaperCard pc = getBestUniquePrint(kv.getValue()); |
| 572 | uniqueCardsByRules.put(kv.getKey(), pc); |
| 573 | } |
| 574 | for (Entry<String, String> kv : flavorNameMappings.entrySet()) { |
| 575 | if (kv.getValue().equals(IPaperCard.NO_FUNCTIONAL_VARIANT)) |
| 576 | continue; |
| 577 | String flavorName = kv.getKey(); |
| 578 | PaperCard pc = getBestUniquePrint(allCardsByName.get(flavorName)); |
| 579 | uniqueCardsByFlavorName.put(flavorName, pc); |
| 580 | } |
| 581 | } |
| 582 | |
| 583 | private PaperCard getBestUniquePrint(final Collection<PaperCard> cards) { |
| 584 | return cards.stream() |