final public static function getAvailableAdapters()
    {
        if (!self::$availableAdapters) {
            $adapters = array();
            foreach (glob(__DIR__.'/Adapters/*.php') as $filename) {
                if (preg_match('~([a-z0-9]*)\.php$~si', $filename, $matches)) {
                    $adapters[] = strtolower($matches[1]);
                }
            }
            self::$availableAdapters = $adapters;
        }
        return self::$availableAdapters;
    }