function DownloadContents($filename = null, $driver = null) {
		if ($filename && $driver) {
			$this->LoadDriver($driver);
		} elseif ($filename) { // $filename but no $driver - identify it from the filename
			if (! $driver = $this->IdentifyDriver($filename)) {
				trigger_error("Unknown reference driver to use with filename '$filename'");
			} else {
				$this->LoadDriver($driver);
			}
		} else {
			$filename = $this->driver->GetFilename();
		}
		header('Content-type: text/plain');
		header('Content-Disposition: attachment; filename="' . $filename . '"');
		echo $this->driver->GetContents();
	}