@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)); }