public function mirror($map)
    {
        $fs = $this->getFS();
        $root = $this->finder->getSourceRoot();

        foreach ($map as $type => $pathMap) {
            foreach ($pathMap as $sourcePath => $destinationPath) {
                if ($fs->exists($root . DIRECTORY_SEPARATOR . $sourcePath)) {

                    if ($type === 'core') {
                        $fs->mirror(
                            $root . DIRECTORY_SEPARATOR . $sourcePath,
                            $destinationPath
                        );
                    }

                    elseif ($this->config->isProductionEnabled() === true) {

                        if (is_dir($root . DIRECTORY_SEPARATOR . $sourcePath)) {
                            $fs->mirror(
                                $root . DIRECTORY_SEPARATOR . $sourcePath,
                                $destinationPath
                            );
                        }

                        else {
                            $fs->copy(
                                $root . DIRECTORY_SEPARATOR . $sourcePath,
                                $destinationPath
                            );
                        }
                    }

                    else {
                        $fs->symlink(
                            rtrim(substr($fs->makePathRelative(
                                $root . DIRECTORY_SEPARATOR . $sourcePath,
                                $destinationPath
                            ), 3), DIRECTORY_SEPARATOR),
                            $destinationPath,
                            true
                        );
                    }
                }
            }
        }
    }