private ImapList parseList(ImapList parent, char start, char end) throws IOException { expect(start); ImapList list = new ImapList(); parent.add(list); String endString = String.valueOf(end); Object token; while (true) { token = parseToken(list); if (token == null) { return null; } else if (token.equals(endString)) { break; } else if (!(token instanceof ImapList)) { list.add(token); } } return list; }
private void parseElements(ImapList list, char end) throws IOException, MessagingException { for (; ; ) { for (; ; ) { final int next = peek(); if (next == end) { return; } if (next != ' ') { break; } // Skip space readByte(); } final ImapElement el = parseElement(); if (el == null) { // EOL return; } list.add(el); } }