public function addIgnoredProperty(string $type, $propertyNames): void
    {
        if (!is_string($propertyNames) && !is_array($propertyNames)) {
            throw new InvalidArgumentException('Property name must be a string or array of strings');
        }

        if (!isset($this->ignoredEncodedPropertyNamesByType[$type])) {
            $this->ignoredEncodedPropertyNamesByType[$type] = [];
        }

        foreach ((array)$propertyNames as $propertyName) {
            $this->ignoredEncodedPropertyNamesByType[$type][$this->normalizePropertyName($propertyName)] = true;
        }
    }