question: public void writeString ( byte [ ] str , int offset , int length ) throws IOException { if ( str == null ) writeInt ( 0 ) ; else { if ( useCompression && length >= Compressor . MIN_SIZE_FOR_DEFLATION ) { if ( byteBuffer . length < length ) byteBuffer = new byte [ 2 * length ] ; int numberOfBytes = compressor . deflateString2ByteArray ( str , offset , length , byteBuffer ) ; writeInt ( numberOfBytes ) ; outs . write ( byteBuffer , 0 , Math . abs ( numberOfBytes ) ) ; position += Math . abs ( numberOfBytes ) ; } else { writeInt ( length ) ; outs . write ( str , offset , length ) ; position += length ; } } }
target:  write a string, compressed, if long enough