@Override
    public void onNext(triple.Response response) {
        byte[] responseData = response.getData().toByteArray();
        Object appResponse;
        String returnTypeName = response.getType();
        if (responseData != null && responseData.length > 0) {
            ClassLoader oldClassloader = Thread.currentThread().getContextClassLoader();
            try {
                Thread.currentThread().setContextClassLoader(classLoader);
                if (returnType == null && !returnTypeName.isEmpty()) {
                    returnType = Class.forName(returnTypeName, true, classLoader);
                }
                appResponse = serializer.decode(new ByteArrayWrapperByteBuf(responseData), returnType, null);
                sofaStreamObserver.onNext(appResponse);
            } catch (ClassNotFoundException e) {
                LOGGER.error("Can not find return type :" + returnType, e);
                throw new SofaRpcException(RpcErrorType.CLIENT_DESERIALIZE, "Can not find return type :" + returnType,
                    e);
            } finally {
                Thread.currentThread().setContextClassLoader(oldClassloader);
            }
        }
    }
Instantiates a new triple stream invoker callback adapter.

@param sofaStreamObserver stream callback
@param serializeType serialize type
@param classLoader Classloader of the rpc calling thread
remoting/remoting-triple/src/main/java/com/alipay/sofa/rpc/message/triple/stream/ClientStreamObserverAdapter.java