code: @Override protected int readData(byte[] buffer, int offset)
     {
        StringsWithLengthBlock options = new StringsWithLengthBlock().read(buffer, offset, false);
        m_options = options.getData();
        offset = options.getOffset();
  
        offset = FastTrackUtility.skipToNextMatchingShort(buffer, offset, 0x000F);
  
        int numberOfItems = FastTrackUtility.getInt(buffer, offset) + 1;
        FastTrackUtility.validateSize(numberOfItems);
        m_data = new Boolean[numberOfItems];
        offset += 4;
  
        // Data length
        offset += 4;
  
        // Offsets to data
        offset += (m_data.length * 4);
  
        // Data length
        offset += 4;
  
        for (int index = 0; index < m_data.length; index++)
        {
           int value = FastTrackUtility.getShort(buffer, offset);
           offset += 2;
           if (value != 2)
           {
              m_data[index] = Boolean.valueOf(value == 1);
           }
        }
  
        return offset;
     }
docs: {@inheritDoc}