code: protected void handleNonDoubleQuoteString(int ch, boolean isName) throws IOException {
      if (ch == '\'') {
        stringTerm = ch;
        if ((flags & ALLOW_SINGLE_QUOTES) == 0) {
          throw err("Single quoted strings not allowed");
        }
      } else {
        if (isName && (flags & ALLOW_UNQUOTED_KEYS) == 0
          || !isName && (flags & ALLOW_UNQUOTED_STRING_VALUES) == 0
          || eof)
        {
          if (isName) {
            throw err("Expected quoted string");
          } else {
            throw err(null);
          }
        }
  
        if (!isUnquotedStringStart(ch)) {
          throw err(null);
        }
  
        stringTerm = 0;  // signal for unquoted string
        out.reset();
        out.unsafeWrite(ch);
      }
    }
docs: isName==true if this is a field name (as opposed to a value)