private function parseSecuritySettings($schemesArray)
    {
        $securitySchemes = [];

        foreach ($schemesArray as $key => $securitySchemeData) {
            $parser = isset($this->securitySettingsParsers['*']) ? $this->securitySettingsParsers['*'] : false;

            $securitySchemes[$key] = $securitySchemeData;
            $securityScheme = $securitySchemes[$key];

            // If we're using protocol specific parsers, see if we have one to use.
            if ($this->configuration->isSchemaSecuritySchemeParsingEnabled()) {
                if (isset($securityScheme['type'], $this->securitySettingsParsers[$securityScheme['type']])
                    ) {
                    $parser = $this->securitySettingsParsers[$securityScheme['type']];
                }
            }

            // If we found a parser, create it's settings object.
            if ($parser) {
                $settings = isset($securityScheme['settings']) ? $securityScheme['settings'] : [];
                $securitySchemes[$key]['settings'] = $parser->createSecuritySettings($settings);
            }
        }

        return $securitySchemes;
    }