public int doDeserializeFromByteArray(byte[] byteArray, int startIndex) throws IOException {
        int index = startIndex;
        this.cProperties = BitConverter.toInt32(byteArray, index);
        index += 4;
        this.propertyID = new PropertyID();
        int len = this.propertyID.doDeserializeFromByteArray(byteArray, index);
        index += len;
        this.data = new PropertySet[this.cProperties];
        for (int i = 0; i < this.cProperties; i++) {
            this.data[i] = new PropertySet();
            int length = this.data[i].doDeserializeFromByteArray(byteArray, index);
            index += length;
        }

        return index - startIndex;
    }
This method is used to deserialize the prtArrayOfPropertyValues from the specified byte array and start index.

@param byteArray  Specify the byte array.
@param startIndex Specify the start index from the byte array.
@return
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/property/PrtArrayOfPropertyValues.java