public function getAssetFileLastModified()
    {
        if ($this->isAssetFilePathUrl()) {
            if (
            //Retrieve headers
                    ($aHeaders = get_headers($sAssetFilePath = $this->getAssetFilePath(), 1))
                    //Assert return is OK
                    && strstr($aHeaders[0], '200') !== false
                    //Retrieve last modified as DateTime
                    && !empty($aHeaders['Last-Modified']) && $oLastModified = new \DateTime($aHeaders['Last-Modified'])
            ) {
                return $oLastModified->getTimestamp();
            } else {
                $oCurlHandle = curl_init($sAssetFilePath);
                curl_setopt($oCurlHandle, CURLOPT_NOBODY, true);
                curl_setopt($oCurlHandle, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($oCurlHandle, CURLOPT_FILETIME, true);
                if (curl_exec($oCurlHandle) === false) {
                    return null;
                }
                return curl_getinfo($oCurlHandle, CURLINFO_FILETIME) ? : null;
            }
        } else {
            \Zend\Stdlib\ErrorHandler::start();
            $iAssetFileFilemtime = filemtime($this->getAssetFilePath());
            \Zend\Stdlib\ErrorHandler::stop(true);
            return $iAssetFileFilemtime ? : null;
        }
    }