private void writeSymbolMap ( ByteBuf out ) { Bzip2BitWriter writer = this . writer ; final boolean [ ] blockValuesPresent = this . blockValuesPresent ; final boolean [ ] condensedInUse = new boolean [ 16 ] ; for ( int i = 0 ; i < condensedInUse . length ; i ++ ) { for ( int j = 0 , k = i << 4 ; j < HUFFMAN_SYMBOL_RANGE_SIZE ; j ++ , k ++ ) { if ( blockValuesPresent [ k ] ) { condensedInUse [ i ] = true ; } } } for ( boolean isCondensedInUse : condensedInUse ) { writer . writeBoolean ( out , isCondensedInUse ) ; } for ( int i = 0 ; i < condensedInUse . length ; i ++ ) { if ( condensedInUse [ i ] ) { for ( int j = 0 , k = i << 4 ; j < HUFFMAN_SYMBOL_RANGE_SIZE ; j ++ , k ++ ) { writer . writeBoolean ( out , blockValuesPresent [ k ] ) ; } } } }
Write the Huffman symbol to output byte map .