code: private void parseToken(String token) {
          int len = token.length();
  
          for (int i = 0; i < len; i++) {
              int chr = sr.read();
              if (chr == -1) {
                  throw new IllegalArgumentException("EOF reached while reading token: " + token);
              }
              chr = Character.toLowerCase((char)chr);
              int loTokenChar = token.charAt(i);
  
              if (loTokenChar != chr) {
                  throw new IllegalArgumentException("Expected token: " + token + " at position " + sr.getPosition());
              }
          }
      }
docs: Return the specified token from the reader. If it is not found, throw an
  IOException indicating that. Converting to chr to (char) chr is acceptable
  because the 'tokens' allowed in a JSON input stream (true, false, null)
  are all ASCII.