public function forClass(string $class): MetaClass
    {
        $cacheName = 'MetaForClass:' . $class;
        $meta = $this->cache->get($cacheName);

        if (!$meta instanceof MetaClass) {
            $data = $this->source->forClass($class);
            $meta = $this->asMeta($data);

            $this->cache->set($cacheName, $meta);
        }

        return $meta;
    }