code: public SubmitMultiResult submitMultiple(String serviceType,
              TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
              String sourceAddr, Address[] destinationAddresses,
              ESMClass esmClass, byte protocolId, byte priorityFlag,
              String scheduleDeliveryTime, String validityPeriod,
              RegisteredDelivery registeredDelivery,
              ReplaceIfPresentFlag replaceIfPresentFlag, DataCoding dataCoding,
              byte smDefaultMsgId, byte[] shortMessage,
              OptionalParameter... optionalParameters) throws PDUException,
              ResponseTimeoutException, InvalidResponseException,
              NegativeResponseException, IOException {
          
          ensureTransmittable("submitMultiple");
          
          SubmitMultiCommandTask task = new SubmitMultiCommandTask(pduSender(),
                  serviceType, sourceAddrTon, sourceAddrNpi, sourceAddr,
                  destinationAddresses, esmClass, protocolId, priorityFlag,
                  scheduleDeliveryTime, validityPeriod, registeredDelivery,
                  replaceIfPresentFlag, dataCoding, smDefaultMsgId, shortMessage,
                  optionalParameters);
  
          SubmitMultiResp resp = (SubmitMultiResp)executeSendCommand(task,
                  getTransactionTimer());
  
          return new SubmitMultiResult(resp.getMessageId(), resp
                  .getUnsuccessSmes());
      }
docs: /* (non-Javadoc)
  @see org.jsmpp.session.ClientSession#submitMultiple(java.lang.String, org.jsmpp.bean.TypeOfNumber, org.jsmpp.bean.NumberingPlanIndicator, java.lang.String, org.jsmpp.bean.Address[], org.jsmpp.bean.ESMClass, byte, byte, java.lang.String, java.lang.String, org.jsmpp.bean.RegisteredDelivery, org.jsmpp.bean.ReplaceIfPresentFlag, org.jsmpp.bean.DataCoding, byte, byte[], org.jsmpp.bean.OptionalParameter[])