docs: public final void flush() throws IOException
      {
          if (! _closed)
          {
              if (atDatagramLevel() && ! hasAnnotations())
              {
                  SymbolTable symtab = getSymbolTable();
  
                  if (symtab != null &&
                      symtab.isReadOnly() &&
                      symtab.isLocalTable())
                  {
                      // It's no longer possible to add more symbols to the local
                      // symtab, so we can safely write everything out.
                      writeAllBufferedData();
                  }
              }
  
              _user_output_stream.flush();
          }
      }