private function directoryOperation(string $operation, string $destination):void
    {
        try {
            Filesystem::checkExists($destination);
        } catch (FileNotFoundException $e) {
            $destinationDir = new self($destination);
            $destinationDir->create();
        }

        $files = $this->getFiles();
        foreach ($files as $file) {
            $destinationPath = "$destination/" . basename($file);
            $file->$operation($destinationPath);
        }
    }