code: public long readUnsignedIntAsLong(int off) {
      	buffer.position(off);
          return (((long)(buffer.get() & 0xff) << 24) |
                  ((long)(buffer.get() & 0xff) << 16) |
                  ((long)(buffer.get() & 0xff) << 8) |
                  ((long)(buffer.get() & 0xff))) & 0xFFFFFFFFL;
      }
docs: Read an unsigned integer as long at specified offset
  
  @param off start offset of this unsigned integer
  @return unsigned integer as long at offset