protected function publish($group = null)
    {
        $paths = ServiceProvider::pathsToPublish($group);

        if (empty($paths)) {
            if (is_null($group)) {
                return $this->comment("Nothing to publish.");
            }

            return $this->comment("Nothing to publish for group [{$group}].");
        }

        foreach ($paths as $from => $to) {
            if ($this->files->isFile($from)) {
                $this->publishFile($from, $to);
            } else if ($this->files->isDirectory($from)) {
                $this->publishDirectory($from, $to);
            } else {
                $this->error("Can't locate path: <{$from}>");
            }
        }

        if (is_null($group)) {
            return $this->info("Publishing complete!");
        }

        $this->info("Publishing complete for group [{$group}]!");
    }