public JRExporter transform() throws DRException {
    JRExporter jrExporter;

    if (jasperExporter instanceof JasperICsvExporter) {
      jrExporter = csv((JasperICsvExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIDocxExporter) {
      jrExporter = docx((JasperIDocxExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIExcelApiXlsExporter) {
      jrExporter = excelApiXls((JasperIExcelApiXlsExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIXlsExporter) {
      jrExporter = xls((JasperIXlsExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIXlsxExporter) {
      jrExporter = xlsx((JasperIXlsxExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIHtmlExporter) {
      jrExporter = html((JasperIHtmlExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIOdsExporter) {
      jrExporter = ods((JasperIOdsExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIOdtExporter) {
      jrExporter = odt((JasperIOdtExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIPdfExporter) {
      jrExporter = pdf((JasperIPdfExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIRtfExporter) {
      jrExporter = rtf((JasperIRtfExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperITextExporter) {
      jrExporter = text((JasperITextExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIXhtmlExporter) {
      jrExporter = xhtml((JasperIXhtmlExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIXmlExporter) {
      jrExporter = xml((JasperIXmlExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIPptxExporter) {
      jrExporter = pptx((JasperIPptxExporter) jasperExporter);
    } else if (jasperExporter instanceof JasperIImageExporter) {
      jrExporter = image((JasperIImageExporter) jasperExporter);
    } else {
      throw new JasperDesignException(
          "Exporter " + jasperExporter.getClass().getName() + " not supported");
    }

    return jrExporter;
  }
 private JRExporter exporter(JRExporter jrExporter, JasperIExporter jasperExporter) {
   if (jasperExporter.getOutputWriter() != null) {
     jrExporter.setParameter(JRExporterParameter.OUTPUT_WRITER, jasperExporter.getOutputWriter());
   }
   if (jasperExporter.getOutputStream() != null) {
     jrExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, jasperExporter.getOutputStream());
   }
   if (jasperExporter.getOutputFile() != null) {
     jrExporter.setParameter(JRExporterParameter.OUTPUT_FILE, jasperExporter.getOutputFile());
   }
   if (jasperExporter.getOutputFileName() != null) {
     jrExporter.setParameter(
         JRExporterParameter.OUTPUT_FILE_NAME, jasperExporter.getOutputFileName());
   }
   if (jasperExporter.getPageIndex() != null) {
     jrExporter.setParameter(JRExporterParameter.PAGE_INDEX, jasperExporter.getPageIndex());
   }
   if (jasperExporter.getStartPageIndex() != null) {
     jrExporter.setParameter(
         JRExporterParameter.START_PAGE_INDEX, jasperExporter.getStartPageIndex());
   }
   if (jasperExporter.getEndPageIndex() != null) {
     jrExporter.setParameter(JRExporterParameter.END_PAGE_INDEX, jasperExporter.getEndPageIndex());
   }
   if (jasperExporter.getCharacterEncoding() != null) {
     jrExporter.setParameter(
         JRExporterParameter.CHARACTER_ENCODING, jasperExporter.getCharacterEncoding());
   }
   if (jasperExporter.getOffsetX() != null) {
     jrExporter.setParameter(JRExporterParameter.OFFSET_X, jasperExporter.getOffsetX());
   }
   if (jasperExporter.getOffsetY() != null) {
     jrExporter.setParameter(JRExporterParameter.OFFSET_Y, jasperExporter.getOffsetY());
   }
   if (jasperExporter.getIgnorePageMargins() != null) {
     jrExporter.setParameter(
         JRExporterParameter.IGNORE_PAGE_MARGINS, jasperExporter.getIgnorePageMargins());
   }
   return null;
 }