code: void generate( Application application, Collection<TemplateEntry> templates ) {
  
  		try {
  			synchronized( this.generationLock ) {
  				TemplateUtils.generate( application, this.outputDIR, templates, this.logger );
  			}
  
  		} catch( IOException e ) {
  			this.logger.warning( "An error occurred while generating files from templates for application " + application );
  			Utils.logException( this.logger, e );
  
  		} catch( Throwable e ) {
  			this.logger.warning( "An unexpected error occurred while generating files from templates for application " + application );
  			Utils.logException( this.logger, new UndeclaredThrowableException( e ));
  		}
  	}
docs: Generates files from templates for a given application.
  <p>
  Templates are provided in parameters.
  </p>
  
  @param application an application (not null)
  @param templates a non-null collection of templates