public String marshal(RuleModel model) {
String ruleTemplate = super.marshalRule( model );
log.debug( "ruleTemplate:\n{}", ruleTemplate );
DataProvider dataProvider = chooseDataProvider( model );
DataProviderCompiler tplCompiler = new DataProviderCompiler();
String generatedDRl = tplCompiler.compile( dataProvider, new ByteArrayInputStream( ruleTemplate.getBytes() ) ).substring( PACKAGE_DECLARATION.length() ).trim();
log.debug( "generated drl:\n{}", generatedDRl );
return generatedDRl;
}