private static void decodeBaggageItemsFromResponse(MultivaluedMap<String, String> headers) {
            if (!RpcInvokeContext.isBaggageEnable() || headers == null || headers.isEmpty()) {
                return;
            }

            Map<String, String> baggageItems = new HashMap<String, String>();
            for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
                if (!entry.getKey().startsWith(RPC_RESPONSE_BAGGAGE_PREFIX) ||
                    entry.getValue() == null ||
                    entry.getValue().isEmpty()) {
                    continue;
                }

                String key = entry.getKey().substring(RPC_RESPONSE_BAGGAGE_PREFIX_LEN);
                String value = entry.getValue().get(0);
                baggageItems.put(key, value);
            }

            RpcInvokeContext.getContext().putAllResponseBaggage(baggageItems);
        }
Decode baggage items from response headers to invoke context

@param headers response headers
tracer/tracer-opentracing-resteasy/src/main/java/com/alipay/sofa/rpc/tracer/sofatracer/RestTracerAdapter.java