public List<EloStatistik> getEloStatistik(String teamId, String datePattern, String dateStart) {
		Team team = eloPersistence
				.createQuery("select distinct t from Team t join fetch t.punktzahlHistorie h where t.id = :teamId", Team.class)
				.setParameter("teamId", teamId).getSingleResult();
		TreeMap<String, EloPunktzahl> werte = new TreeMap<String, EloPunktzahl>();
		Set<EloPunktzahl> punktzahlHistorie = team.getPunktzahlHistorie();
		SimpleDateFormat sdf = new SimpleDateFormat(datePattern, Locale.GERMAN);

		Date start;
		Date ende = DateUtils.ceiling(Calendar.getInstance(Locale.GERMAN), Calendar.DATE).getTime();
		try {
			start = sdf.parse(dateStart);
		} catch (ParseException e) {
			throw new RuntimeException(e);
		}

		for (EloPunktzahl punktzahl : punktzahlHistorie) {
			if (punktzahl.getBerechnetAm().before(start) || punktzahl.getBerechnetAm().after(ende)) {
				continue;
			}
			String key = sdf.format(punktzahl.getBerechnetAm());
			EloPunktzahl bisherigePunktzahl = werte.get(key);
			if (bisherigePunktzahl == null) {
				werte.put(key, punktzahl);
			} else {
				if (bisherigePunktzahl.getBerechnetAm().before(punktzahl.getBerechnetAm())) {
					werte.put(key, punktzahl);
				}
			}
		}

		List<EloStatistik> result = new ArrayList<EloStatistik>();
		for (Map.Entry<String, EloPunktzahl> entry : werte.entrySet()) {
			result.add(new EloStatistik(entry.getKey(), entry.getValue().getBerechnetAm().getTime() / 1000, entry.getValue().getPunktzahl()));
		}
		return result;
	}