externalDoc = $externalDoc; $this->strategy = $strategy; } public function describe(Swagger $api) { $externalDoc = $this->getExternalDoc(); $api->merge($externalDoc, $this->strategy); } private function getExternalDoc(): array { if (is_callable($this->externalDoc)) { return call_user_func($this->externalDoc); } return $this->externalDoc; } }