code: private void initStream() throws IOException {
  
          if (m_out == null) {
              if (!m_writeOnlyToBuffer) {
                  // we can use the parents output stream
                  if (m_cachingRequired || (m_controller.getResponseStackSize() > 1)) {
                      // we are allowed to cache our results (probably to construct a new cache entry)
                      m_out = new CmsFlexResponse.CmsServletOutputStream(m_res.getOutputStream());
                  } else {
                      // we are not allowed to cache so we just use the parents output stream
                      m_out = (CmsFlexResponse.CmsServletOutputStream)m_res.getOutputStream();
                  }
              } else {
                  // construct a "buffer only" output stream
                  m_out = new CmsFlexResponse.CmsServletOutputStream();
              }
          }
          if (m_writer == null) {
              // create a PrintWriter that uses the encoding required for the request context
              m_writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(m_out, m_encoding)), false);
          }
      }
docs: Initializes the current responses output stream
  and the corresponding print writer.<p>
  
  @throws IOException in case something goes wrong while initializing