delegate = $delegate; $this->cache = new \SplObjectStorage(); } public function translateName(PropertyMetadata $property) { if (isset($this->cache[$property])) { return $this->cache[$property]; } return $this->cache[$property] = $this->delegate->translateName($property); } }