docs: public synchronized void finish() throws IOException
      {
          synchronized(out)
          {
              for(ByteArrayOutputStream baos : all_buffers)
              {
                  baos.writeTo(out);
                  baos.reset();
              }
              out.flush();
          }
          
      }