private void endPreviousBitPackedRun ( ) { if ( bitPackedRunHeaderPointer == - 1 ) { // we're not currently in a bit-packed-run return ; } // create bit-packed-header, which needs to fit in 1 byte byte bitPackHeader = ( byte ) ( ( bitPackedGroupCount << 1 ) | 1 ) ; // update this byte baos . setByte ( bitPackedRunHeaderPointer , bitPackHeader ) ; // mark that this run is over bitPackedRunHeaderPointer = - 1 ; // reset the number of groups bitPackedGroupCount = 0 ; }
If we are currently writing a bit - packed - run update the bit - packed - header and consider this run to be over