code: public String compile(final DataProvider dataProvider,
                            final TemplateDataListener listener,
                            boolean replaceOptionals) {
          List<DataListener> listeners = new ArrayList<DataListener>();
          listeners.add(listener);
          processData(dataProvider,
                      listeners);
          return listener.renderDRL();
      }
docs: Generates DRL from a data provider for the spreadsheet data and templates.
  
  @param dataProvider the data provider for the spreadsheet data
  @param listener     a template data listener
  @return the generated DRL text as a String