public function combine($name, $path, $file, $compress = false)
    {
        $this->combine = true;

        if (file_exists($this->container->get('root').DS.$path.$file)) {
            $cssAsset = file_get_contents($this->container->get('root').DS.$path.$file);
            if (string_has($cssAsset, '@generator')) {
                return $this;
            }
        }

        $filePointer = fopen($this->container->get('root').DS.$path.$file, 'w')
        or die('Please set folder '.$this->container->get('root').DS.$path.$file.' permission to 777.');

        $content = "
        /**\n
         | Import All CSS Assets here \n
         | @generator Cygnite AssetManager\n
         */\n\n";
        foreach ($this->paths[$this->tag[$this->where]][$name] as $key => $src) {
            if ($name == 'style') {
                $content .= $this->combineStylesheets($src, $compress);
            } elseif ($name == 'script') {
                $content .= $this->combineScripts($src, $compress);
            }
        }

        fwrite($filePointer, $content);
        $content = '';
        fclose($filePointer);

        $assetName = trim($this->getNameFromPathInfo($file));

        $styleTag = '';
        $styleTag = static::$stylesheet.' title="'.$file.'" href="'.$this->getBaseUrl(
            ).$path.$file.'" >'.PHP_EOL;

        $this->combinedAssets[$this->tag[$this->where]][$name.'.'.$assetName][] = (string) $styleTag;

        return $this;
    }