</BUG>
}
<BUG>out.writeByte((byte)b);
}
}
private int[] readHeader(int size, DataInputPlus in) throws IOException
{
int nbBytes = headerBytesCount(size);
int[] header = new int[nbBytes];
for (int i = 0; i < nbBytes; i++)
header[i] = in.readUnsignedByte();</BUG>
return header;

{
assert size > 0;
ByteBuffer[] values = new ByteBuffer[size];
int offset = 0;
while (offset < size)
{
long header = in.readUnsignedVInt();
int limit = Math.min(size, offset + 32);
while (offset < limit)
{
values[offset] = isNull(header, offset)
? null
: (isEmpty(header, offset) ? ByteBufferUtil.EMPTY_BYTE_BUFFER : types.get(offset).readValue(in));
offset++;
