question: @ Override public void finish ( ) throws IOException { if ( out == null ) { throw new IOException ( "Stream is closed" ) ; } if ( cDir == null ) { return ; } if ( entries . isEmpty ( ) ) { throw new ZipException ( "No entries" ) ; } if ( currentEntry != null ) { closeEntry ( ) ; } int cdirSize = cDir . size ( ) ; writeLong ( cDir , ENDSIG ) ; writeShort ( cDir , 0 ) ; writeShort ( cDir , 0 ) ; writeShort ( cDir , entries . size ( ) ) ; writeShort ( cDir , entries . size ( ) ) ; writeLong ( cDir , cdirSize ) ; writeLong ( cDir , offset ) ; writeShort ( cDir , commentBytes . length ) ; if ( commentBytes . length > 0 ) { cDir . write ( commentBytes ) ; } cDir . writeTo ( out ) ; cDir = null ; }
target:  Indicates that all entries have been written to the stream. Any terminal information is written to the underlying stream.