docs: @Override
      public void errorOccurred(SIConnectionLostException exception, // F174602
                                int segmentType,
                                int requestNumber,
                                int priority,
                                Conversation conversation) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "errorOccurred",
                          new Object[]
                          {
                           exception,
                           "" + segmentType,
                           "" + requestNumber,
                           "" + priority,
                           conversation
                          });
  
          // Check and see if we think this is a heartbeat timeout. If it is, don't FFDC.
          Throwable cause = exception.getCause();
          if (cause != null && cause instanceof JFapHeartbeatTimeoutException) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, "Error is due to heartbeat timeout");
          } else {
              FFDCFilter.processException(exception,
                                          CLASS_NAME + ".errorOccurred",
                                          CommsConstants.SERVERTRANSPORTRECEIVELISTENER_ERROR_01,
                                          this);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Object[] debug =
              {
               "Segment type  : " + segmentType + " (0x" + Integer.toHexString(segmentType) + ")",
               "Request number: " + requestNumber,
               "Priority      : " + priority
              };
  
              SibTr.debug(this, tc, "Received an error in the ServerTransportReceiveListener", debug);
              SibTr.debug(this, tc, "Primary exception:", exception);
          }
  
          // D363790 removed the call to cleanupConnection().
          // This is because we will now rely on the ConnectionClosedListener to trigger the connection
          // cleanup as that will be driven not only on error conditions but also on normal socket
          // closure as well.
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "errorOccurred");
      }