question: public void write ( final int b ) throws IOException { if ( m_store == null ) { throw new IllegalStateException ( ERR_NO_STORE ) ; } if ( m_isSaved ) { throw new IllegalStateException ( ERR_ALREADY_SAVED ) ; } if ( m_count == m_blobThreshold && ! m_writingHdr ) { if ( m_blobHeader == null ) { m_blobHeader = new ArrayList < Integer > ( ) ; } final int curAddr = ( int ) m_store . alloc ( m_buf , m_count , m_context ) ; m_blobHeader . add ( curAddr ) ; m_count = 0 ; } m_buf [ m_count ++ ] = ( byte ) b ; m_bytesWritten ++ ; }
target:  write a single byte this is the one place where the blob threshold is handled and its done one byte at a time so should be easy enough, We no longer store continuation addresses, instead we allocate blob allocations via a blob header block.