class BinaryReader {

    public UnsignedLong readQWord() {
        ByteBuffer byteBuffer = ByteBuffer.wrap(bytes, position, 8);
        position += 8;
        return UnsignedLong.fromLongBits(byteBuffer.order(ByteOrder.LITTLE_ENDIAN).getLong());
    }

    public  BinaryReader(BinaryReader binaryReader, int position);
    public  BinaryReader(InputStream inputStream, int size);
    public  BinaryReader(byte[] bytes);

}