@Override
 public LeagueRound fromCursor(SimpleCursor cursor, ElifutPersistenceService service) {
   List<Integer> matchIds =
       Lists.transform(Arrays.asList(cursor.getString("matches").split(",")), Integer::valueOf);
   List<? extends Match> matches = service.query(AutoValueClasses.MATCH, Ints.toArray(matchIds));
   return LeagueRound.create(
       cursor.getInt("id"), cursor.getInt("round_number"), listSupertype(matches));
 }
 @Override
 public MatchResult fromCursor(SimpleCursor cursor, ElifutDataStore service) {
   try {
     String result = cursor.getString("result");
     if (result != null) {
       return adapter.fromJson(result);
     }
   } catch (IOException e) {
     throw new RuntimeException(e);
   }
   return null;
 }