code: public void prepareUpdateStep5bOutput(JspWriter out) throws IOException {
  
          if ((m_workplaceUpdateThread == null) || (m_workplaceUpdateThread.getLoggingThread() == null)) {
              return;
          }
          m_oldLoggingOffset = m_newLoggingOffset;
          m_newLoggingOffset = m_workplaceUpdateThread.getLoggingThread().getMessages().size();
          if (isInitialized()) {
              for (int i = m_oldLoggingOffset; i < m_newLoggingOffset; i++) {
                  String str = m_workplaceUpdateThread.getLoggingThread().getMessages().get(i).toString();
                  str = CmsEncoder.escapeWBlanks(str, CmsEncoder.ENCODING_UTF_8);
                  out.println("output[" + (i - m_oldLoggingOffset) + "] = \"" + str + "\";");
              }
          } else {
              out.println("output[0] = 'ERROR';");
          }
  
          boolean threadFinished = m_workplaceUpdateThread.isFinished();
          boolean allWritten = m_oldLoggingOffset >= m_workplaceUpdateThread.getLoggingThread().getMessages().size();
  
          out.println("function initThread() {");
          if (isInitialized()) {
              out.print("send();");
              if (threadFinished && allWritten) {
                  out.println("setTimeout('top.display.finish()', 500);");
              } else {
                  int timeout = 5000;
                  if (getWorkplaceUpdateThread().getLoggingThread().getMessages().size() < 20) {
                      timeout = 1000;
                  }
                  out.println("setTimeout('location.reload()', " + timeout + ");");
              }
          }
          out.println("}");
      }
docs: Generates the output for the update wizard.<p>
  
  @param out the JSP print stream
  
  @throws IOException in case errors occur while writing to "out"