question: write progress grain to output stream . concode_field_sep ByteBuffer grainDirectory concode_elem_sep ByteBuffer grainHeader concode_elem_sep int gtSize concode_elem_sep long numGDEntries concode_elem_sep long gtSizeSectors concode_elem_sep boolean unflushedDataGrains concode_elem_sep long lastWriteTime concode_elem_sep DataOutputStream output concode_elem_sep long gdSizeSectors concode_elem_sep ByteBuffer sparseHeader concode_elem_sep long currentOffset concode_elem_sep int gdSize concode_elem_sep long nextSector concode_elem_sep ByteBuffer currentGrainTable concode_elem_sep long lastWrittenSector concode_elem_sep long capacitySectors concode_elem_sep int currentGDIndex concode_elem_sep Logger logger concode_field_sep void writeHeader concode_elem_sep void writeProgressGrainIfNeeded concode_elem_sep void flushCurrentGrainTable concode_elem_sep void writeSparseHeader concode_elem_sep ByteArrayOutputStream generateDescriptor concode_elem_sep long writeDataGrain concode_elem_sep void addToGrainTable concode_elem_sep int currentOffsetSector concode_elem_sep void writeTrailer concode_elem_sep void padTo concode_elem_sep void updateLastWriteTime concode_elem_sep void close concode_elem_sep void write concode_elem_sep void write concode_elem_sep void writeMarker
target: long function ( long arg0 ) { assert arg0 % SparseUtil . DEFAULT_GRAIN_SIZE == 0 ; assert arg0 >= nextSector ; if ( unflushedDataGrains ) { output . flush ( ) ; unflushedDataGrains = false ; } writeProgressGrainIfNeeded ( arg0 ) ; return currentOffset ; }