@Override
 public Deck loadDeck(String name) {
   DeckData data;
   try {
     data = gson.fromJson(readSource(getDeckUri(name)), DeckData.class);
     CardLibrary cl = loadCardLibrary();
     Card identityCard = cl.getCard(data.getIdentity());
     Deck deck = new Deck(cl.getItentity(identityCard.getKey()), data.getName());
     for (CardRef ref : data.getCards()) {
       deck.add(cl.getCard(ref.getCard()), ref.getCount());
     }
     return deck;
   } catch (JsonIOException e) {
     e.printStackTrace();
   } catch (JsonSyntaxException e) {
     e.printStackTrace();
   } catch (FileNotFoundException e) {
     e.printStackTrace();
   }
   return null;
 }
 @Override
 public CardLibrary loadCardLibrary() {
   CardLibrary cl = new CardLibrary(getRuleFactory());
   cl.addAll(loadCards());
   return cl;
 }