private void forkUsingExecutor() {
		try {
			Class<?> scheduledExecutorClass = Class.forName("java.util.concurrent.ScheduledExecutor");
			Class[] types1 = { Integer.TYPE };
			Object[] args1 = { new Integer(1) };
			Constructor<?> constructor = scheduledExecutorClass.getConstructor(types1);
			executor = constructor.newInstance(args1);
			Class<?> timeUnitClass = Class.forName("java.util.concurrent.TimeUnit");
			Field secondsField = timeUnitClass.getField("SECONDS");
			Object seconds = secondsField.get(null);
			Class[] types2 = { Class.forName("java.lang.Runnable"),
			                  Long.TYPE,
			                  Class.forName("java.util.concurrent.TimeUnit") };
			Object[] args2 = { this, new Long(0), seconds };
			Method schedule = executor.getClass().getMethod("schedule", types2);
			schedule.invoke(executor, args2);
		} catch (Exception ex) {
			if (JTFTools.testDebugOption("startup")) {
				System.out.println("Executor failed because " + ex);
			}
			executor = null;
			mainThread = Thread.currentThread();
			myProgram.startRun();
		}
	}