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