Collection runners = getRunBiz().getRunnersByDistance(runGroup, distance);
Collection runners = getRunBiz().getRunnersByDistance(distance, runGroup);
	private void getGroupCompetitionResults(Table table, int row) {		try {			List groups = new ArrayList(getGroupBiz().getChildGroups(distance));			List runs = new ArrayList();			Iterator runGroupIter = groups.iterator();			while (runGroupIter.hasNext()) {				Group runGroup = (Group) runGroupIter.next();				Collection runners = getRunBiz().getRunnersByDistance(runGroup, distance);				runs.addAll(runners);			}						Map runGroups = new HashMap();			RunGroupMap map = new RunGroupMap();			List groupRunners = new ArrayList();			Iterator iterator = runs.iterator();			while (iterator.hasNext()) {				Run runner = (Run) iterator.next();				if (runner.getRunGroupName() != null && runner.getRunGroupName().trim().length() > 0) {					groupRunners.add(runner);					RunGroup runnerGroup = (RunGroup) runGroups.get(runner.getRunGroupName());					if (runnerGroup == null) {						runnerGroup = new RunGroup(runner.getRunGroupName());						runGroups.put(runner.getRunGroupName(), runnerGroup);					}					map.put(runnerGroup, runner);				}			}			List groupList = new ArrayList(map.keySet());			Collections.sort(groupList, new RunGroupComparator());			iterator = groupList.iterator();			while (iterator.hasNext()) {				RunGroup runGroup = (RunGroup) iterator.next();				Collection runnersInRunGroup = map.getCollection(runGroup);				row = insertRunGroupIntoTable(table, row, runGroup.getGroupName() + " - " + runGroup.getCounter().toString());				Iterator runIter = runnersInRunGroup.iterator();				int num = 1;				int count = 0;				while (runIter.hasNext()) {					if (count < 3) {						Run run = (Run) runIter.next();						num = runs.indexOf(run);						row = insertRunIntoTable(table, row, run, num, count+1);					}					count++;				}			}		}		catch (Exception e) {			e.printStackTrace();		}	}