runners.remove(parent1); runners.remove(parent2);
tempRunners.remove(parent1); tempRunners.remove(parent2);
	public int getNumberOfChildren(Collection runners) {		int numberOfChildren = 0;		try {			Runner parent1 = null;			Runner parent2 = null;			boolean hasParents = false;			Iterator iter = runners.iterator();			while (iter.hasNext()) {				Runner runner = (Runner) iter.next();				Iterator iterator = runners.iterator();				while (iterator.hasNext()) {					Runner otherRunner = (Runner) iterator.next();					if (runner.getUser() != null && otherRunner.getUser() != null && !runner.getUser().equals(otherRunner.getUser()) && runner.getDistance().isFamilyDiscount()) {						if (getFamilyLogic().isSpouseOf(runner.getUser(), otherRunner.getUser()) && otherRunner.getDistance().isFamilyDiscount()) {							hasParents = true;							parent1 = runner;							parent2 = otherRunner;							break;						}					}				}				if (hasParents) {					break;				}			}						if (hasParents) {				runners.remove(parent1);				runners.remove(parent2);								Iterator iterator = runners.iterator();				while (iterator.hasNext()) {					Runner runner = (Runner) iterator.next();					if (getFamilyLogic().isParentOf(parent1.getUser(), runner.getUser()) || getFamilyLogic().isParentOf(parent2.getUser(), runner.getUser())) {						if (runner.getDistance().isFamilyDiscount()) {							numberOfChildren++;						}					}				}			}		}		catch (RemoteException re) {			throw new IBORuntimeException(re);		}				return 0;	}