public function getPatchResolvers()
    {
        $resolvers = [];
        $plugin_manager = $this->composer->getPluginManager();
        foreach ($plugin_manager->getPluginCapabilities(
            'cweagans\Composer\Capability\ResolverProvider',
            ['composer' => $this->composer, 'io' => $this->io]
        ) as $capability) {
            /** @var ResolverProvider $capability */
            $newResolvers = $capability->getResolvers();
            if (!is_array($newResolvers)) {
                throw new \UnexpectedValueException(
                    'Plugin capability ' . get_class($capability) . ' failed to return an array from getResolvers().'
                );
            }
            foreach ($newResolvers as $resolver) {
                if (!$resolver instanceof ResolverBase) {
                    throw new \UnexpectedValueException(
                        'Plugin capability ' . get_class($capability) . ' returned an invalid value.'
                    );
                }
            }
            $resolvers = array_merge($resolvers, $newResolvers);
        }

        return $resolvers;
    }