private int WriteData(Collection<int> indexes, byte[] destination, int offset)
{
if (_DataOffsets.Count == 0)
return offset;
int newOffset = offset;
int i = 0;
foreach (int index in indexes)
{
ExifValue value = _Values[index];
if (value.Length > 4)
{
Write(BitConverter.GetBytes(newOffset - _StartIndex), destination, _DataOffsets[i++]);
newOffset = WriteValue(value, destination, newOffset);
}
}
return newOffset;
}