@Override
    protected ExecuteContext doAfter(ExecuteContext context) {
        context.changeResult(getMergedInstances(context));
        return context;
    }
@Test
    public void doAfter() throws NoSuchMethodException {
        RegisterContext.INSTANCE.setAvailable(true);
        final ZookeeperInstanceSupplierInterceptor interceptor = new ZookeeperInstanceSupplierInterceptor();
        final ExecuteContext context = interceptor.doAfter(buildContext());
        final Object result = context.getResult();
        Assert.assertTrue(result instanceof List);
        List<ServiceInstance> instances = (List<ServiceInstance>) result;
        assertEquals(instances.size(), (scInstances.size() + originInstances.size()));

        // Test deduplication
        scInstances.clear();
        originInstances.clear();
        allInstances.clear();
        final ExecuteContext contextRepeat = interceptor.doAfter(buildContextRepeatedly());
        final Object resultRepeat = contextRepeat.getResult();
        Assert.assertTrue(resultRepeat instanceof List);
        List<ServiceInstance> instancesRepeat = (List<ServiceInstance>) resultRepeat;
        assertEquals(instancesRepeat.size(), (scInstances.size() + originInstances.size() - 1));
        RegisterContext.INSTANCE.setAvailable(false);
    }