docs: static void rcvCloseProducerSess(CommsByteBuffer request, Conversation conversation,
                                       int requestNumber, boolean allocatedFromBufferPool,
                                       boolean partOfExchange)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "rcvCloseProducerSess",
                          new Object[]
                          {
                           request,
                           conversation,
                           "" + requestNumber,
                           "" + allocatedFromBufferPool,
                           "" + partOfExchange
                          });
          ConversationState convState = (ConversationState) conversation.getAttachment();
  
          short connectionObjectID = request.getShort(); // BIT16 ConnectionObjectId
          short producerObjectID = request.getShort(); // BIT16 SyncProducerSessionId
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          {
              SibTr.debug(tc, "connectionObjectID", connectionObjectID);
              SibTr.debug(tc, "producerObjectID", producerObjectID);
          }
  
          ProducerSession producerSession = ((ProducerSession) convState.getObject(producerObjectID));
  
          try
          {
              producerSession.close();
              convState.removeObject(producerObjectID);
  
              try
              {
                  conversation.send(poolManager.allocate(),
                                    JFapChannelConstants.SEG_CLOSE_PRODUCER_SESS_R,
                                    requestNumber,
                                    JFapChannelConstants.PRIORITY_MEDIUM,
                                    true,
                                    ThrottlingPolicy.BLOCK_THREAD,
                                    null);
              } catch (SIException e)
              {
                  FFDCFilter.processException(e,
                                              CLASS_NAME + ".rcvCloseProducerSess",
                                              CommsConstants.STATICCATPRODUCER_CLOSE_01);
  
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      SibTr.debug(tc, e.getMessage(), e);
  
                  SibTr.error(tc, "COMMUNICATION_ERROR_SICO2024", e);
              }
          } catch (SIException e)
          {
              //No FFDC code needed - processor will have already FFDC'ed any interesting ones....
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(tc, e.getMessage(), e);
  
              StaticCATHelper.sendExceptionToClient(e,
                                                    CommsConstants.STATICCATPRODUCER_CLOSE_02, // d186970
                                                    conversation, requestNumber); // f172297
  
          }
  
          request.release(allocatedFromBufferPool);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "rcvCloseProducerSess");
      }