public function detectConfiguration()
	{
		// Use default file readers if none provided
		if (empty($this->file_readers)) {
			$this->file_readers = [
				JsonReader::class => new JsonReader(),
				GraphMLReader::class => new GraphMLReader(),
				BpmnReader::class => new BpmnReader(),
			];
		}

		// Scan base dir for machines and find youngest file
		if ($this->file_list === null) {
			$dh = opendir($this->base_dir);
			if (!$dh) {
				throw new RuntimeException('Cannot open base dir: ' . $this->base_dir);
			}
			$this->file_list = [];
			while (($file = readdir($dh)) !== false) {
				if ($file[0] != '.') {
					$this->file_list[] = $file;
				}
			}
			closedir($dh);
		}
	}