static void processDeliverSm0(Command pduHeader, byte[] pdu, ResponseHandler responseHandler)
     throws IOException {
   try {
     DeliverSm deliverSm = pduDecomposer.deliverSm(pdu);
     responseHandler.processDeliverSm(deliverSm);
     responseHandler.sendDeliverSmResp(pduHeader.getSequenceNumber());
   } catch (PDUStringException e) {
     logger.error("Failed decomposing deliver_sm", e);
     responseHandler.sendNegativeResponse(
         pduHeader.getCommandId(), e.getErrorCode(), pduHeader.getSequenceNumber());
   } catch (ProcessRequestException e) {
     logger.error("Failed processing deliver_sm", e);
     responseHandler.sendNegativeResponse(
         pduHeader.getCommandId(), e.getErrorCode(), pduHeader.getSequenceNumber());
   }
 }
 public void processReplaceSmResp(Command pduHeader, byte[] pdu, ResponseHandler responseHandler)
     throws IOException {
   responseHandler.sendNegativeResponse(
       pduHeader.getCommandId(), SMPPConstant.STAT_ESME_RINVBNDSTS, pduHeader.getSequenceNumber());
 }