public function getEntity($full_name)
    {
        if ( !array_key_exists($full_name, $this->entities) ) {
            $filePath = $this->getCacheFilePath(Util::toFileName($full_name, '.dat'));
            if ( $this->fs->exists($filePath) === false ) {
                return null;
            }
            $file = $this->fs->get($filePath);
            /** @var File $file */
            $file = $this->entities[ $full_name ] = unserialize($file);
            $file->getEntity();
        }
        return $this->entities[ $full_name ];
    }