public function getManifest()
    {
        if (! $this->manifest) {
            $manifestFile = $this->getDir() . self::MANIFEST_NAME;
            if (is_file($manifestFile) && is_readable($manifestFile)) {
                $this->manifest = new common_ext_Manifest($manifestFile);
            } else {
                throw new common_ext_ManifestNotFoundException("Extension Manifest not found for extension '" . $this->id . "'.", $this->id);
            }
        }
        return $this->manifest;
     }