public List<RangStatistik> getRangStatistik(String spielerName, String datePattern, String dateStart) {
		List<EloStatistik> eigeneEloStatistik = getEloStatistikInternal(spielerName, datePattern, dateStart, true);
		Map<String, List<EloStatistik>> andereEloStatistiken = new HashMap<String, List<EloStatistik>>();
		List<Spieler> alleSpieler = eloPersistence.findAll(Spieler.class);
		for (Spieler spieler : alleSpieler) {
			if (spieler.isVisible() && !spieler.getName().equals(spielerName)) {
				andereEloStatistiken.put(spieler.getName(), getEloStatistikInternal(spieler.getName(), datePattern, dateStart, true));
			}
		}

		List<RangStatistik> result = new ArrayList<RangStatistik>();
		for (int i = 0; i < eigeneEloStatistik.size(); i++) {
			RangStatistik rang = calculateRang(eigeneEloStatistik, andereEloStatistiken, i);
			if (rang != null) {
				result.add(rang);
			}
		}
		/* doppelte Einträge entfernen */
		RangStatistik prev = null;
		for (Iterator<RangStatistik> i = result.iterator(); i.hasNext();) {
			RangStatistik stat = i.next();
			if (prev == null) {
				prev = stat;
			} else if (prev.getRang() == stat.getRang()) {
				i.remove();
			} else {
				prev = stat;
			}
		}
		return result;
	}