public function sanitizeFile($inputFilename, SanitizerOptions $options = null, $outputFilename = '')
    {
        $data = is_string($inputFilename) && $this->filesystem->isFile($inputFilename) ? $this->filesystem->get($inputFilename) : false;
        if ($data === false) {
            throw SanitizerException::create(SanitizerException::ERROR_FAILED_TO_READ_FILE);
        }
        $sanitizedData = $this->sanitizeData($data, $options);
        if ((string) $outputFilename === '') {
            $outputFilename = $inputFilename;
        }
        if ($outputFilename !== $inputFilename || $data !== $sanitizedData) {
            if ($this->filesystem->put($outputFilename, $sanitizedData) === false) {
                throw SanitizerException::create(SanitizerException::ERROR_FAILED_TO_WRITE_FILE);
            }
        }
    }