public function save() {
        $path       = $this->getPath();
        $content    = $this->render();
        $overwrite  = $this->isOverwriteEnabled();

        if (!$overwrite && file_exists($path)) {
            return true;
        }

        if (!file_put_contents($path, $content)) {
            $model = $this->getModel();
            throw new Exception("Could not generate {$model->id}" . get_class());
        }
        return true;
    }