private function parseDiscriminatorField($discriminatorField) { if (is_string($discriminatorField)) { return $discriminatorField; } if (!is_array($discriminatorField)) { throw new \InvalidArgumentException('Expected array or string for discriminatorField; found: ' . gettype($discriminatorField)); } if (isset($discriminatorField['name'])) { return (string) $discriminatorField['name']; } if (isset($discriminatorField['fieldName'])) { return (string) $discriminatorField['fieldName']; } throw new \InvalidArgumentException('Expected "name" or "fieldName" key in discriminatorField array; found neither.'); }