public function getAllClasses(MetaDataInterface $metadata = null)
    {
        $cacheFilename  = $this->directories['Cache'] . DIRECTORY_SEPARATOR;
        $cacheFilename .= md5('genrator_getAllClasses' . ($metadata !== null) ? get_class($metadata) : '');

        if ($this->fileManager->isFile($cacheFilename) === true && $this->noCache === false) {
            $data = unserialize($this->fileManager->fileGetContent($cacheFilename));
        } else {
            $data = $this->generatorFinder->getAllClasses($metadata);
            $this->fileManager->filePutsContent($cacheFilename, serialize($data));
        }

        return $data;
    }