@Override
    public ExecuteContext before(ExecuteContext context) {
        if (context.getArguments() == null || context.getArguments().length == 0) {
            return context;
        }
        Object parameters = context.getArguments()[0];
        Object config = context.getArguments()[1];
        if (parameters instanceof Map<?, ?> && config instanceof ApplicationConfig) {
            context.getArguments()[0] = ParametersUtils.putParameters((Map<String, String>) parameters,
                    routerConfig);
        }
        return context;
    }
@Test
    public void testBefore() throws NoSuchMethodException {
        ApplicationConfig applicationConfig = new ApplicationConfig();
        Map<String, String> map = new HashMap<>();
        Object[] arguments = new Object[2];
        arguments[0] = map;
        arguments[1] = applicationConfig;
        Method method = AbstractConfig.class.getDeclaredMethod("appendParameters", Map.class, Object.class);
        method.setAccessible(true);
        ExecuteContext context = ExecuteContext.forMemberMethod(new Object(), method, arguments, null, null);
        interceptor.before(context);
        Map<String, String> parameters = (Map<String, String>) context.getArguments()[0];
        Assert.assertEquals(3, parameters.size());
    }