public String getLNDString(int position, boolean showAllHex) {
        byte[] LND = null;
        String LNDString = "";
        String contactName = "";
        try {
            worker.getResponse(worker.select(DatabaseOfEF.DF_TELECOM.getFID()));
            LND = worker.readRecord(position, worker.getResponse(worker.select(DatabaseOfEF.EF_LND.getFID())));

            contactName = contactName.concat(Converter.bytesToHex(LND).substring(0, 3 * (LND.length - 14)));
            if (!contactName.matches("[FF ]+")) {
                for (int i = 0; i < LND.length - 14; i++) {
                    LNDString = LNDString.concat(Character.toString((char) (int) LND[i]));
                }
                LNDString = LNDString.concat("; ");
            }
            if (LND[LND.length - 14 + 1] == (byte) 0x91) {
                LNDString = LNDString.concat("00");
            }
            for (int i = LND.length - 14 + 2; i <= LND.length - 14 + LND[LND.length - 14]; i++) {
                String b = Converter.byteToHex(LND[i]);
                String c = Converter.swapString(b);
                LNDString = LNDString.concat(c);
            }
        } catch (Exception ex) {
            Logger.getLogger(CardManager.class.getName()).log(Level.SEVERE, null, ex);
        }
        if (showAllHex) {
            return Converter.bytesToHex(LND);
        } else {
            return LNDString;
        }
    }