code: public void flush() throws IOException {
          if (obuffer != null) {
              output.write(obuffer);
              obuffer = null;
          }
          output.flush();
      }
docs: Flushes this output stream by forcing any buffered output bytes
  that have already been processed by the encapsulated cipher object
  to be written out.
  
  <p>Any bytes buffered by the encapsulated cipher
  and waiting to be processed by it will not be written out. For example,
  if the encapsulated cipher is a block cipher, and the total number of
  bytes written using one of the <code>write</code> methods is less than
  the cipher's block size, no bytes will be written out.
  
  @exception  IOException  if an I/O error occurs.
  @since      JCE1.2