code: public String nstring(ImapRequestLineReader request) throws ProtocolException {
          char next = request.nextWordChar();
          switch (next) {
              case '"':
                  return consumeQuoted(request);
              case '{':
                  return consumeLiteral(request);
              default:
                  String value = atom(request);
                  if ("NIL".equals(value)) {
                      return null;
                  } else {
                      throw new ProtocolException("Invalid nstring value: valid values are '\"...\"', '{12} CRLF *CHAR8', and 'NIL'.");
                  }
          }
      }
docs: Reads an argument of type "nstring" from the request.