public void Write_body(Bry_bfr bfr, Xop_ctx ctx, Xoh_wtr_ctx hctx, Xoae_page page) {
   synchronized (thread_lock_2) {
     this.page = page;
     this.wiki = page.Wikie();
     this.app = wiki.Appe();
     Xoa_ttl page_ttl = page.Ttl();
     int page_ns_id = page_ttl.Ns().Id();
     byte page_tid =
         Xow_page_tid.Identify(
             wiki.Domain_tid(),
             page_ns_id,
             page_ttl
                 .Page_db()); // NOTE: can't cache page_tid b/c Write_body is called directly;
                              // DATE:2014-10-02
     byte[] data_raw = page.Db().Text().Text_bry();
     int bfr_page_bgn = bfr.Len();
     boolean page_tid_uses_pre = false;
     if (page_mode == Xopg_page_.Tid_edit) Write_body_edit(bfr, data_raw, page_ns_id, page_tid);
     else {
       switch (page_tid) {
         case Xow_page_tid.Tid_msg:
         case Xow_page_tid.Tid_js:
         case Xow_page_tid.Tid_css:
         case Xow_page_tid.Tid_lua:
           Write_body_pre(bfr, app, wiki, hctx, data_raw, tmp_bfr);
           page_tid_uses_pre = true;
           break;
         case Xow_page_tid.Tid_json:
           app.Wiki_mgr().Wdata_mgr().Write_json_as_html(bfr, page_ttl.Full_db(), data_raw);
           break;
         case Xow_page_tid.Tid_wikitext:
           Write_body_wikitext(bfr, app, wiki, data_raw, ctx, hctx, page, page_tid, page_ns_id);
           break;
       }
     }
     if (wiki.Domain_tid() != Xow_domain_tid_.Tid__home // allow home wiki to use javascript
         && !page_tid_uses_pre) { // if .js, .css or .lua, skip test; may have js fragments, but
                                  // entire text is escaped and put in pre; don't show spurious
                                  // warning; DATE:2013-11-21
       wiki.Html_mgr().Js_cleaner().Clean_bfr(wiki, page_ttl, bfr, bfr_page_bgn);
     }
   }
 }