private GUID deserializeGUID() throws IOException {
        int[] guid = new int[16];
        for (int i = 0; i < 16; ++i) {
            guid[i] = dif.read();
        }
        int[] guid2 = new int[16];
        // re-order [0,1,2,3] to little endian
        guid2[0] = guid[3];
        guid2[1] = guid[2];
        guid2[2] = guid[1];
        guid2[3] = guid[0];
        // re-order [4,5,6,7] to little endian
        guid2[4] = guid[5];
        guid2[5] = guid[4];
        guid2[6] = guid[7];
        guid2[7] = guid[6];
        // the rest is already in right order.
        guid2[8] = guid[8];
        guid2[9] = guid[9];
        guid2[10] = guid[10];
        guid2[11] = guid[11];
        guid2[12] = guid[12];
        guid2[13] = guid[13];
        guid2[14] = guid[14];
        guid2[15] = guid[15];

        offset = dif.position();
        return new GUID(guid2);
    }
This is the main class used during parsing. This will contain an offset position and end
position for reading bytes from the byte stream.
<p>
It contains all the deserialize methods used to read the different data elements from a one
note file.
<p>
You can construct a new one note pointer and it will reposition the byte channel and will
read until
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/OneNotePtr.java