docs: private TessResultRenderer createRenderers(String outputbase, List<RenderedFormat> formats) {
          TessResultRenderer renderer = null;
  
          for (RenderedFormat format : formats) {
              switch (format) {
                  case TEXT:
                      if (renderer == null) {
                          renderer = api.TessTextRendererCreate(outputbase);
                      } else {
                          api.TessResultRendererInsert(renderer, api.TessTextRendererCreate(outputbase));
                      }
                      break;
                  case HOCR:
                      if (renderer == null) {
                          renderer = api.TessHOcrRendererCreate(outputbase);
                      } else {
                          api.TessResultRendererInsert(renderer, api.TessHOcrRendererCreate(outputbase));
                      }
                      break;
                  case PDF:
                      String dataPath = api.TessBaseAPIGetDatapath(handle);
                      boolean textonly = String.valueOf(TRUE).equals(prop.getProperty("textonly_pdf"));
                      if (renderer == null) {
                          renderer = api.TessPDFRendererCreate(outputbase, dataPath, textonly ? TRUE : FALSE);
                      } else {
                          api.TessResultRendererInsert(renderer, api.TessPDFRendererCreate(outputbase, dataPath, textonly ? TRUE : FALSE));
                      }
                      break;
                  case BOX:
                      if (renderer == null) {
                          renderer = api.TessBoxTextRendererCreate(outputbase);
                      } else {
                          api.TessResultRendererInsert(renderer, api.TessBoxTextRendererCreate(outputbase));
                      }
                      break;
                  case UNLV:
                      if (renderer == null) {
                          renderer = api.TessUnlvRendererCreate(outputbase);
                      } else {
                          api.TessResultRendererInsert(renderer, api.TessUnlvRendererCreate(outputbase));
                      }
                      break;
                  case ALTO:
                      if (renderer == null) {
                          renderer = api.TessAltoRendererCreate(outputbase);
                      } else {
                          api.TessResultRendererInsert(renderer, api.TessAltoRendererCreate(outputbase));
                      }
                      break;
                  case TSV:
                      if (renderer == null) {
                          renderer = api.TessTsvRendererCreate(outputbase);
                      } else {
                          api.TessResultRendererInsert(renderer, api.TessTsvRendererCreate(outputbase));
                      }
                      break;
                  case LSTMBOX:
                      if (renderer == null) {
                          renderer = api.TessLSTMBoxRendererCreate(outputbase);
                      } else {
                          api.TessResultRendererInsert(renderer, api.TessLSTMBoxRendererCreate(outputbase));
                      }
                      break;
                  case WORDSTRBOX:
                      if (renderer == null) {
                          renderer = api.TessWordStrBoxRendererCreate(outputbase);
                      } else {
                          api.TessResultRendererInsert(renderer, api.TessWordStrBoxRendererCreate(outputbase));
                      }
                      break;
              }
          }
  
          return renderer;
      }