code: @Override
      public NumberType getNumberType() throws IOException {
          Object n = currentNode();
          if (n instanceof Integer) {
              return NumberType.INT;
          } else if (n instanceof BigInteger) {
              return NumberType.BIG_INTEGER;
          } else if (n instanceof BigDecimal) {
              return NumberType.BIG_DECIMAL;
          } else if (n instanceof Double) {
              return NumberType.DOUBLE;
          } else if (n instanceof Float) {
              return NumberType.FLOAT;
          } else if (n instanceof Long) {
              return NumberType.LONG;
          } else {
              throw _constructError(n + " is not a number");
          }
      }
docs: public byte getByteValue() throws IOException