throw new RuntimeException("Not implemented yet!");
int refno = myRnd.nextInt(256);   int nSms = myUdLength / nMaxConcatChars; if ( (myUdLength % nMaxConcatChars) > 0 ) { nSms += 1; } smsPdus = new SmsPdu[nSms];   SmsUdhElement[] pduUdhElements = null; if (myUdhElements == null) { pduUdhElements = new SmsUdhElement[1]; } else { pduUdhElements = new SmsUdhElement[myUdhElements.length + 1];   for (int j=0; j < myUdhElements.length; j++) {  pduUdhElements[j + 1] = myUdhElements[j]; } }   String msg = SmsPduUtil.readSeptets(myUd, myUdLength);   for (int i=0; i < nSms; i++) { byte pduUd[]; int udOffset; int udLength;   pduUdhElements[0] = SmsUdhUtil.get8BitConcatUdh(refno, nSms, i + 1);     udOffset = nMaxConcatChars * i; udLength = myUdLength - udOffset; if (udLength > nMaxConcatChars) { udLength = nMaxConcatChars; }  pduUd = SmsPduUtil.getSeptets(msg.substring(udOffset, udOffset + udLength)); smsPdus[i] = new SmsPdu(pduUdhElements, pduUd, udLength); }
    private SmsPdu[] createSeptetPdus(int theMaxBytes)    {        int nMaxChars;        int nMaxConcatChars;        SmsPdu smsPdus[] = null;        // 8-bit concat header is 6 bytes...        nMaxConcatChars = ((theMaxBytes - 6) * 8) / 7;        nMaxChars = (theMaxBytes * 8) / 7;        if (myUdLength <= nMaxChars)        {            smsPdus = new SmsPdu[] { new SmsPdu(myUdhElements, myUd, myUdLength) };        }        else        {            // Convert septets into an ordinary string            // Divide string into parts            // Write septets...            throw new RuntimeException("Not implemented yet!");        }        return smsPdus;    }