/**
  * Method createFrom() Method used to read initial values and attributes from a CSV values
  * descring a synthetic population
  *
  * @author Vo Duc An
  * @since 04-09-2012
  * @see msi.gama.common.interfaces.ICreateDelegate#createFrom(msi.gama.runtime.IScope,
  *     java.util.List, int, java.lang.Object)
  */
 @Override
 public boolean createFrom(
     final IScope scope,
     final List<Map> inits,
     final Integer max,
     final Object source,
     final Arguments init,
     final CreateStatement statement) {
   final IList<Map> syntheticPopulation = (IList<Map>) source;
   final int num =
       max == null
           ? syntheticPopulation.length(scope) - 1
           : CmnFastMath.min(syntheticPopulation.length(scope) - 1, max);
   // the first element of syntheticPopulation a string (i.e.,
   // "genstar_population")
   for (int i = 1; i < num; i++) {
     final Map genstarInit = syntheticPopulation.get(i);
     statement.fillWithUserInit(scope, genstarInit);
     // mix genstar's init attributes with user's init
     inits.add(genstarInit);
   }
   return true;
 }