docs: protected void handleResponseOut(T message) throws Fault {
          Message reqMsg = message.getExchange().getInMessage();
          if (reqMsg == null) {
              LOG.warning("InMessage is null!");
              return;
          }
  
          // No flowId for oneway message
          Exchange ex = reqMsg.getExchange();
          if (ex.isOneWay()) {
              return;
          }
  
          String reqFid = FlowIdHelper.getFlowId(reqMsg);
  
          // if some interceptor throws fault before FlowIdProducerIn fired
          if (reqFid == null) {
              if (LOG.isLoggable(Level.FINE)) {
                  LOG.fine("Some interceptor throws fault.Setting FlowId in response.");
              }
              reqFid = FlowIdProtocolHeaderCodec.readFlowId(message);
          }
  
          // write IN message to SAM repo in case fault
          if (reqFid == null) {
              Message inMsg = ex.getInMessage();
  
              reqFid = FlowIdProtocolHeaderCodec.readFlowId(inMsg);
              if (null != reqFid) {
                  if (LOG.isLoggable(Level.FINE)) {
                      LOG.fine("FlowId '" + reqFid
                              + "' found in message of fault incoming exchange.");
                      LOG.fine("Calling EventProducerInterceptor to log IN message");
                  }
                  handleINEvent(ex, reqFid);
              }
          }
  
          if (reqFid == null) {
              reqFid = FlowIdSoapCodec.readFlowId(message);
          }
  
          if (reqFid != null) {
              if (LOG.isLoggable(Level.FINE)) {
                  LOG.fine("FlowId '" + reqFid + "' found in incoming message.");
              }
          } else {
              reqFid = ContextUtils.generateUUID();
              // write IN message to SAM repo in case fault
              if (null != ex.getOutFaultMessage()) {
                  if (LOG.isLoggable(Level.FINE)) {
                      LOG.fine("FlowId '" + reqFid
                              + "' generated for fault message.");
                      LOG.fine("Calling EventProducerInterceptor to log IN message");
                  }
                  handleINEvent(ex, reqFid);
              }
  
              if (LOG.isLoggable(Level.FINE)) {
                  LOG.fine("No flowId found in incoming message! Generate new flowId "
                          + reqFid);
              }
          }
  
          FlowIdHelper.setFlowId(message, reqFid);
  
      }