docs: public final long getUint32() {
          if (position + 3 >= origin + limit) throw new IllegalArgumentException("limit excceed: "
                                                                                 + (position - origin + 3));
  
          byte[] buf = buffer;
          return ((long) (0xff & buf[position++])) | ((long) (0xff & buf[position++]) << 8)
                 | ((long) (0xff & buf[position++]) << 16) | ((long) (0xff & buf[position++]) << 24);
      }