question: public void finish ( ) throws IOException { if ( done ) { return ; } def . finish ( ) ; while ( ! def . finished ( ) ) { int byteCount = def . deflate ( buf ) ; out . write ( buf , 0 , byteCount ) ; } done = true ; }
target:  Writes any unwritten data to the underlying stream. Does not close the stream.