class RedissonSessionStateFactory implements SessionStateFactory {
    private static RedissonSessionStateFactory instance;
    public static RedissonSessionStateFactory getInstance() {<FILL_FUNCTION_BODY>}

    private RedissonSessionStateFactory() {
        Properties prop = Solon.cfg().getProp("server.session.state.redis");

        if (prop.size() < 4) {
            System.err.println("Error configuration: solon.session.state.redis");
            return;
        }

        redisClient = RedissonBuilder.build(prop);
    }

    private RedissonClient redisClient;

    protected RedissonClient redisClient() {
        return redisClient;
    }

    public static final int SESSION_STATE_PRIORITY = 2;
    @Override
    public int priority() {
        return SESSION_STATE_PRIORITY;
    }


    @Override
    public SessionState create(Context ctx) {
        return new RedissonSessionState(ctx);
    }
}

        if (instance == null) {
            instance = new RedissonSessionStateFactory();
        }

        return instance;
    
<no_super_class>