addedPathNames[$extension_name])) { return $this->addedPathNames[$extension_name]; } elseif (isset($this->pathNames[$extension_name])) { return $this->pathNames[$extension_name]; } elseif (isset(static::$staticAddedPathNames[$extension_name])) { return static::$staticAddedPathNames[$extension_name]; } elseif (($path_names = $this->getPathnames()) && isset($path_names[$extension_name])) { // Ensure we don't have to do path scanning more than really needed. foreach ($path_names as $extension => $path_name) { static::$staticAddedPathNames[$extension] = $path_name; } return $path_names[$extension_name]; } throw new \InvalidArgumentException("The {$this->type} $extension_name does not exist."); } }