code: private JsonToken scanString(final char quoteCharacter) {
  
          StringBuilder sb = new StringBuilder();
  
          while (true) {
              int c = buffer.read();
              switch (c) {
                  case '\\':
                      c = buffer.read();
                      switch (c) {
                          case '\'':
                              sb.append('\'');
                              break;
                          case '"':
                              sb.append('"');
                              break;
                          case '\\':
                              sb.append('\\');
                              break;
                          case '/':
                              sb.append('/');
                              break;
                          case 'b':
                              sb.append('\b');
                              break;
                          case 'f':
                              sb.append('\f');
                              break;
                          case 'n':
                              sb.append('\n');
                              break;
                          case 'r':
                              sb.append('\r');
                              break;
                          case 't':
                              sb.append('\t');
                              break;
                          case 'u':
                              int u1 = buffer.read();
                              int u2 = buffer.read();
                              int u3 = buffer.read();
                              int u4 = buffer.read();
                              if (u4 != -1) {
                                  String hex = new String(new char[]{(char) u1, (char) u2, (char) u3, (char) u4});
                                  sb.append((char) Integer.parseInt(hex, 16));
                              }
                              break;
                          default:
                              throw new JsonParseException("Invalid escape sequence in JSON string '\\%c'.", c);
                      }
                      break;
  
                  default:
                      if (c == quoteCharacter) {
                          return new JsonToken(JsonTokenType.STRING, sb.toString());
                      }
                      if (c != -1) {
                          sb.append((char) c);
                      }
              }
              if (c == -1) {
                  throw new JsonParseException("End of file in JSON string.");
              }
          }
      }
docs: CHECKSTYLE:OFF