public static function create(
        SessionHandlerNodeInterface $sessionHandlerNode,
        SessionSettingsInterface $sessionSettings
    ) {

        // reflect the class
        $reflectionClass = new ReflectionClass($sessionHandlerNode->getType());

        // create and initialize the session handler instance
        $sessionHandler = $reflectionClass->newInstanceArgs($sessionHandlerNode->getParamsAsArray());
        $sessionHandler->injectSessionSettings($sessionSettings);

        // return the initialzed instance
        return $sessionHandler;
    }