text: public int SetArrayData(byte[] data, int offset){if (emptyComplexPart){_complexData = new byte[0];}else{short numElements = LittleEndian.GetShort(data, offset);short numReserved = LittleEndian.GetShort(data, offset + 2);short sizeOfElements = LittleEndian.GetShort(data, offset + 4);int arraySize = GetActualSizeOfElements(sizeOfElements) * numElements;if (arraySize == _complexData.Length){_complexData = new byte[arraySize + 6];sizeIncludesHeaderSize = false;}Array.Copy(data, offset, _complexData, 0, _complexData.Length);}return _complexData.Length;}