protected function copyFile(string $src, string $dst, bool $compile)
    {
        if (is_file($dst) && !$this->overwrite && !$this->confirmOverwrite) {
            $this->info("File exists and overwrite disabled, skipping {$dst}", OutputInterface::VERBOSITY_VERY_VERBOSE);
        }

        if (!$this->confirmOverwrite($dst)) {
            return;
        }

        $this->info("Copying '{$src}' to '{$dst}'", OutputInterface::VERBOSITY_VERY_VERBOSE);

        file_put_contents($dst, $compile ? $this->compileFile($src) : file_get_contents($src));
    }