code: private List<HashMap<String, String>> createSegmentListFromMessage(String msg) {
          List<HashMap<String, String>> segmentList = new ArrayList<HashMap<String, String>>();
  
          boolean quoteNext = false;
          int startPosi = 0;
  
          for (int i = 0; i < msg.length(); i++) {
              char ch = msg.charAt(i);
  
              if (!quoteNext && ch == '@') {
                  // skip binary values
                  int idx = msg.indexOf("@", i + 1);
                  String len_st = msg.substring(i + 1, idx);
                  i += Integer.parseInt(len_st) + 1 + len_st.length();
              } else if (!quoteNext && ch == '\'') {
                  // segment-ende gefunden
                  HashMap<String, String> segmentInfo = new HashMap<>();
                  segmentInfo.put("code", msg.substring(startPosi, msg.indexOf(":", startPosi)));
                  segmentInfo.put("start", Integer.toString(startPosi));
                  segmentInfo.put("length", Integer.toString(i - startPosi + 1));
  
                  segmentList.add(segmentInfo);
                  startPosi = i + 1;
              }
              quoteNext = !quoteNext && ch == '?';
          }
  
          return segmentList;
      }
docs: Liste mit segmentInfo-Properties aus der Nachricht erzeugen