code: @Nonnull
      public JsonToken expectNumber(String message) throws IOException, JsonException {
          if (!hasNext()) {
              throw newParseException("Expected %s (number): Got end of file", message);
          } else {
              if (unreadToken.isInteger() || unreadToken.isDouble()) {
                  JsonToken tmp = unreadToken;
                  unreadToken = null;
                  return tmp;
              }
  
              throw newMismatchException("Expected %s (number): but found '%s'",
                                         message, unreadToken.asString(),
                                         message);
          }
      }
docs: Expect a JSON number. A number is a 64 bit integer (long), or a 64-bit
  real (double) number. The long can be decimal (base-10), octal (base-8)
  with '0' prefix, or hexadecimal (base-16) encoded with '0x' prefix, and
  the double can be a decimal point number (-0.0), or a scientific notation
  number (-0.0e-1).
  
  @param message Message to add to exception if there are no more JSON
  tokens on the stream.
  @return The number token.
  @throws JsonException If no more tokens, or the token is illegally
  formatted.
  @throws IOException If unable to read from stream.