protected function autodetectDriver($knownDrivers)
    {
        foreach ($knownDrivers as $knownDriver) {
            try {
                $driver = new $knownDriver();
                if ($driver instanceof DriverInterface) {
                    return $driver;
                }
            } catch (\Exception $e) {
                //constructor of driver will have to throw an exception, if driver isn't usable
                //    e.g. when needed extensions are not available
                continue;
            }
        }
        return null;
    }