@Override
    public ExecuteContext before(ExecuteContext context) {
        Object object = context.getObject();
        String serviceId = getServiceId(object).orElse(null);
        if (StringUtils.isBlank(serviceId)) {
            return context;
        }
        Object obj = context.getMemberFieldValue("serviceInstances");
        if (obj instanceof Flux<?>) {
            List<Object> instances = getInstances((Flux<Object>) obj, object);
            if (CollectionUtils.isEmpty(instances)) {
                return context;
            }
            RequestData requestData = ThreadLocalUtils.getRequestData();
            List<Object> targetInstances = loadBalancerService.getTargetInstances(serviceId, instances, requestData);
            context.skip(Flux.just(targetInstances));
        }
        return context;
    }
@Test
    public void testBeforeWithInvalidObject() {
        ThreadLocalUtils.setRequestData(new RequestData(Collections.emptyMap(), "", ""));
        ExecuteContext context = ExecuteContext.forMemberMethod(new Object(), null, null, null, null);
        interceptor.before(context);
        Assert.assertNotNull(context.getObject());
    }