public final boolean runLookAhead() throws FatalError, RestartLater {
		int toRun;

		if (lookAheadPlan == -1) {
			
			// ersten LookAhead
			toRun = getNextPlan(runningPlan);

		} else {
			
			// es war schon mindestens ein LookAhead
			toRun = getNextPlan(lookAheadPlan);
		}

		if (toRun == -1) {
			return false;
		}
		
		if (toRun == runningPlan) {
			return false;
		}
		
		if (Config.getDebug()) {
			Output.println("LookAhead test: " + plans[toRun].getName(), 2);
		}

		if (plans[toRun].isPreRunningable()) {
			if (!aussendienst || Utils.serviceAvalible()) {
				reliableExecution(plans[toRun]);
				lookAheadPlan = toRun;
				return true;
			}
		}

		return false;
	}