public static void assertParamsMatchWithDescription(
            String descriptionTemplate, Map<String, String> params) {
        getParams(descriptionTemplate)
                .forEach(
                        param -> {
                            if (!params.containsKey(param)) {
                                throw new IllegalArgumentException(
                                        String.format(
                                                "Param [%s] is not set in error message [%s]",
                                                param, descriptionTemplate));
                            }
                        });
    }
@Test
    void testAssertParamsMatchWithDescription() {
        String description = "test description with param <key1>, <key2> and <key3>.";
        Map<String, String> params = new HashMap<>();
        params.put("key1", "value1");
        params.put("key2", "value2");
        params.put("key3", "value3");
        ExceptionParamsUtil.assertParamsMatchWithDescription(description, params);

        params.remove("key2");
        Assertions.assertThrows(
                IllegalArgumentException.class,
                () -> ExceptionParamsUtil.assertParamsMatchWithDescription(description, params));
    }