docs: static void rcvCreateTempDestination(CommsByteBuffer request, Conversation conversation,
                                          int requestNumber, boolean allocatedFromBufferPool,
                                          boolean partOfExchange)
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "rcvCreateTempDestination",
                                             new Object[]
                                             {
                                                request,
                                                conversation,
                                                ""+requestNumber,
                                                ""+allocatedFromBufferPool,
                                                ""+partOfExchange
                                              });
  
        ConversationState convState = (ConversationState) conversation.getAttachment();
  
        short connectionObjectID = request.getShort(); // BIT16 ConnectionObjectId
        SICoreConnection connection =
           ((CATConnection) convState.getObject(connectionObjectID)).getSICoreConnection();
        short dist = request.getShort();
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
        {
           SibTr.debug(tc, "SICoreConnection Id:", connectionObjectID);
           SibTr.debug(tc, "Distribution", dist);
        }
  
        /**************************************************************/
        /* Distribution                                               */
        /**************************************************************/
        Distribution distribution = Distribution.getDistribution(dist);
  
        /**************************************************************/
        /* Destination name prefix                                    */
        /**************************************************************/
        String destinationNamePrefix = request.getString();
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "Destination prefix;", destinationNamePrefix);
  
        try
        {
           JsDestinationAddress destAddress =
              (JsDestinationAddress) connection.createTemporaryDestination(distribution,
                                                                           destinationNamePrefix);
  
           CommsByteBuffer reply = poolManager.allocate();
           reply.putSIDestinationAddress(destAddress, conversation.getHandshakeProperties().getFapLevel());
  
           try
           {
              // Inform the client
              conversation.send(reply,
                                JFapChannelConstants.SEG_CREATE_TEMP_DESTINATION_R,
                                requestNumber,
                                JFapChannelConstants.PRIORITY_MEDIUM,
                                true,
                                ThrottlingPolicy.BLOCK_THREAD,
                                null);
           }
           catch (SIException e)
           {
              FFDCFilter.processException(e,
                                          CLASS_NAME + ".rcvCreateTempDestination",
                                          CommsConstants.STATICCATDESTINATION_DESTCREATE_01);
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, e.getMessage(), e);
  
              SibTr.error(tc, "COMMUNICATION_ERROR_SICO2022", e);
           }
        }
        catch (SINotAuthorizedException e)
        {
           // No FFDC Code Needed
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, e.getMessage(), e);
  
           StaticCATHelper.sendExceptionToClient(e,
                                                 null,
                                                 conversation, requestNumber);
        }
        catch (SIException e)
        {
           //No FFDC code needed
           //Only FFDC if we haven't received a meTerminated event.
           if(!convState.hasMETerminated())
           {
              FFDCFilter.processException(e,
                                          CLASS_NAME + ".rcvCreateTempDestination",
                                          CommsConstants.STATICCATDESTINATION_DESTCREATE_02);
           }
  
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, e.getMessage(), e);
  
           StaticCATHelper.sendExceptionToClient(e,
                                                 CommsConstants.STATICCATDESTINATION_DESTCREATE_02,
                                                 conversation, requestNumber);
        }
  
        request.release(allocatedFromBufferPool);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "rcvCreateTempDestination");
     }