public void writeTo( byte[] mainStream, ByteArrayOutputStream tableStream )
throws IOException
{
_cbRgFcLcb = _fieldHandler.getFieldsCount();
_fibBase.serialize( mainStream, 0 );
int offset = FibBase.getSize();
LittleEndian.putUShort( mainStream, offset, _csw );
offset += LittleEndian.SHORT_SIZE;
_fibRgW.serialize( mainStream, offset );
offset += FibRgW97.getSize();
LittleEndian.putUShort( mainStream, offset, _cslw );
offset += LittleEndian.SHORT_SIZE;
( (FibRgLw97) _fibRgLw ).serialize( mainStream, offset );
offset += FibRgLw97.getSize();
LittleEndian.putUShort( mainStream, offset, _cbRgFcLcb );
offset += LittleEndian.SHORT_SIZE;
_fieldHandler.writeTo( mainStream, offset, tableStream );
offset += _cbRgFcLcb * LittleEndian.INT_SIZE * 2;
LittleEndian.putUShort( mainStream, offset, _cswNew );
offset += LittleEndian.SHORT_SIZE;
if ( _cswNew != 0 )
{
LittleEndian.putUShort( mainStream, offset, _nFibNew );
offset += LittleEndian.SHORT_SIZE;
System.arraycopy( _fibRgCswNew, 0, mainStream, offset,
_fibRgCswNew.length );
offset += _fibRgCswNew.length;
}
}