code: public SubReportBuilder setDataSource(int origin, int type, String expression) {
  		DJDataSource ds = new DJDataSource(expression, origin, type);
  		subreport.setDatasource(ds);
  		return this;
  	}
docs: Indicates from where to get the data source.<br>
  
  @param origin Must be one of these constans located in DJConstants inteface<br>
  - SUBREPORT_DATAS_OURCE_ORIGIN_PARAMETER<br>
  - SUBREPORT_DATAS_OURCE_ORIGIN_FIELD<br>
  - SUBREPORT_DATAS_OURCE_ORIGIN_INTERNAL<br>
  @param type tell if the datasource is a Collection, an Array, a ResultSet or whatever.<br>
  Its value must be a constant from {@link DJConstants} of the like DATA_SOURCE_TYPE_...
  @param expression is -depending on the origin- te path to the datasource<br>
  ie: if origin is SUBREPORT_DATAS_OURCE_ORIGIN_PARAMETER, then expression can be "subreport_datasource".<br>
  You must in the parameters map an object using "subreport_datasource" as the key.<br>
  The object must be an instance of {@link JRDataSource} or any of the following<br>
  Collection, Array, ResultSet, or any of the data source types provided by Jasper Reports
  @return