protected function _validateConfigOptions()
    {
        if ($this->getConfig('withJsonApiVersion')) {
            if (!is_bool($this->getConfig('withJsonApiVersion')) && !is_array($this->getConfig('withJsonApiVersion'))) {
                throw new CrudException('JsonApiListener configuration option `withJsonApiVersion` only accepts a boolean or an array');
            }
        }

        if (!is_array($this->getConfig('meta'))) {
            throw new CrudException('JsonApiListener configuration option `meta` only accepts an array');
        }

        if (!is_bool($this->getConfig('absoluteLinks'))) {
            throw new CrudException('JsonApiListener configuration option `absoluteLinks` only accepts a boolean');
        }

        if (!is_bool($this->getConfig('jsonApiBelongsToLinks'))) {
            throw new CrudException('JsonApiListener configuration option `jsonApiBelongsToLinks` only accepts a boolean');
        }

        if (!is_array($this->getConfig('include'))) {
            throw new CrudException('JsonApiListener configuration option `include` only accepts an array');
        }

        if (!is_array($this->getConfig('fieldSets'))) {
            throw new CrudException('JsonApiListener configuration option `fieldSets` only accepts an array');
        }

        if (!is_array($this->getConfig('jsonOptions'))) {
            throw new CrudException('JsonApiListener configuration option `jsonOptions` only accepts an array');
        }

        if (!is_bool($this->getConfig('debugPrettyPrint'))) {
            throw new CrudException('JsonApiListener configuration option `debugPrettyPrint` only accepts a boolean');
        }

        if (!is_array($this->getConfig('queryParameters'))) {
            throw new CrudException('JsonApiListener configuration option `queryParameters` only accepts an array');
        }
    }