public static JwtRuleHandle newInstance(final String handleJson) {
        if (Objects.isNull(handleJson)) {
            return null;
        }
        Map<String, Object> handleMap = GsonUtils.getInstance().convertToMap(handleJson);
        String handleType = null;
        if (Objects.nonNull(handleMap)) {
            handleType = handleMap.getOrDefault("handleType", "default").toString();
        }
        JwtConvertStrategy convertStrategy = JwtConvertStrategyFactory.newInstance(handleType);
        return convertStrategy.parseHandleJson(handleJson);
    }
@Test
    public void testGetInstance() {

        assertThat(JwtRuleHandle.newInstance(null), nullValue());

        assertThat(JwtRuleHandle.newInstance("{\"handleType\":\"custom\"}"),
                isA(CustomJwtRuleHandle.class));

        assertThat(JwtRuleHandle.newInstance("{\"converter\":[{\"jwtVal\":\"sub\",\"headerVal\":\"id\"}]}"),
                isA(DefaultJwtRuleHandle.class));
    }