subsystems = new Stack<ExamSystem>();
combinedOptions = expand(options);
configDirectory = new File(System.getProperty("user.home") + "/.pax/exam/");
configDirectory.mkdirs();
WorkingDirectoryOption work = getSingleOption(WorkingDirectoryOption.class);
// make sure that working directory gets propagated to forked systems
if (work == null) {
work = new WorkingDirectoryOption(createTemp(null).getAbsolutePath());
combinedOptions = combine(combinedOptions, work);
}
cache = createTemp(new File(work.getWorkingDirectory()));
store = new TemporaryStore(cache, false);
TimeoutOption timeoutOption = getSingleOption(TimeoutOption.class);
if (timeoutOption != null) {
timeout = new RelativeTimeout(timeoutOption.getTimeout());