code: public FixedSizeItemsBlock read(byte[] buffer, int offset)
     {
        // Offset to data
        offset += 2;
  
        int numberOfItems = FastTrackUtility.getInt(buffer, offset);
        offset += 4;
  
        FastTrackUtility.validateSize(numberOfItems);
  
        int itemLength = FastTrackUtility.getShort(buffer, offset);
        offset += 2;
  
        FastTrackUtility.validateSize(itemLength);
  
        // Offset to end
        offset += 4;
  
        m_data = new byte[numberOfItems][];
        for (int index = 0; index < m_data.length; index++)
        {
           byte[] item = new byte[itemLength];
           m_data[index] = item;
  
           FastTrackUtility.validateOffset(buffer, offset + itemLength);
  
           System.arraycopy(buffer, offset, item, 0, itemLength);
           offset += itemLength;
        }
  
        m_offset = offset;
  
        return this;
     }
docs: Read data, return the current instance.
  
  @param buffer buffer containing data
  @param offset offset into buffer
  @return current FixedSizeItemsBlock instance