public List<WsByteBuffer> finish() {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
            Tr.entry(tc, "finish");
        }
        List<WsByteBuffer> list = new LinkedList<WsByteBuffer>();
        if (isFinished()) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
                Tr.exit(tc, "finish, previously finished");
            }
            return list;
        }
        WsByteBuffer buffer = null;
        this.deflater.finish();
        while (!this.deflater.finished()) {
            int num = this.deflater.deflate(this.buf, 0, this.buf.length);
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                Tr.debug(tc, "Compressed amount=" + num + " read=" + this.deflater.getBytesRead() + " written=" + this.deflater.getBytesWritten());
            }
            if (0 < num) {
                buffer = makeBuffer(num);
                list.add(buffer);
            }
        }
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
            Tr.exit(tc, "finish, return list of size " + list.size());
        }
        return list;
    }
public List < WsByteBuffer > finish ( ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { Tr . entry ( tc , "finish" ) ; } List < WsByteBuffer > list = new LinkedList < WsByteBuffer > ( ) ; if ( isFinished ( ) ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { Tr . exit ( tc , "finish, previously finished" ) ; } return list ; } WsByteBuffer buffer = null ; this . deflater . finish ( ) ; while ( ! this . deflater . finished ( ) ) { int num = this . deflater . deflate ( this . buf , 0 , this . buf . length ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "Compressed amount=" + num + " read=" + this . deflater . getBytesRead ( ) + " written=" + this . deflater . getBytesWritten ( ) ) ; } if ( 0 < num ) { buffer = makeBuffer ( num ) ; list . add ( buffer ) ; } } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { Tr . exit ( tc , "finish, return list of size " + list . size ( ) ) ; } return list ; }
/*
@see com.ibm.wsspi.http.channel.compression.CompressionHandler#finish()