code: public static HttpCarbonMessage createInboundRespCarbonMsg(ChannelHandlerContext ctx,
                                                                 HttpResponse httpResponseHeaders,
                                                                 HttpCarbonMessage outboundRequestMsg) {
          HttpCarbonMessage inboundResponseMsg = new HttpCarbonResponse(httpResponseHeaders, new DefaultListener(ctx));
          inboundResponseMsg.setProperty(Constants.POOLED_BYTE_BUFFER_FACTORY,
                  new PooledDataStreamerFactory(ctx.alloc()));
  
          inboundResponseMsg.setProperty(Constants.DIRECTION, Constants.DIRECTION_RESPONSE);
          inboundResponseMsg.setProperty(Constants.HTTP_STATUS_CODE, httpResponseHeaders.status().code());
  
          //copy required properties for service chaining from incoming carbon message to the response carbon message
          //copy shared worker pool
          inboundResponseMsg.setProperty(Constants.EXECUTOR_WORKER_POOL, outboundRequestMsg
                  .getProperty(Constants.EXECUTOR_WORKER_POOL));
  
          return inboundResponseMsg;
      }
docs: Create a HttpCarbonMessage using the netty inbound response message.
  @param ctx of the inbound response message
  @param httpResponseHeaders of the inbound response message
  @param outboundRequestMsg is the correlated outbound request message
  @return HttpCarbon message