code: public void render(
  			File outputDirectory,
  			ApplicationTemplate applicationTemplate,
  			File applicationDirectory,
  			List<String> renderers,
  			Map<String,String> options,
  			Map<String,String> typeAnnotations )
  	throws IOException {
  
  		options = fixOptions( options );
  		if( renderers.size() > 1 )
  			options.put( DocConstants.OPTION_GEN_IMAGES_ONCE, "true" );
  
  		for( String renderer : renderers ) {
  			Renderer r = Renderer.which( renderer );
  			if( r == null ) {
  				this.logger.severe( "No renderer called '" + renderer +"' was found. Skipping it." );
  				continue;
  			}
  
  			String subDirName = renderer.toLowerCase();
  			String locale = options.get( DocConstants.OPTION_LOCALE );
  			if( locale != null )
  				subDirName += "_" + locale;
  
  			File subDir = new File( outputDirectory, subDirName );
  			buildRenderer( subDir, applicationTemplate, applicationDirectory, r, typeAnnotations ).render( options );
  		}
  	}
docs: Renders a Roboconf application into a given format.
  <p>
  When several renderers are provided, images generation is performed only once.
  </p>
  
  @param outputDirectory the directory into which the documentation must be generated
  @param applicationTemplate an application template
  @param applicationDirectory the application's directory
  @param renderers a non-null list of render names
  @param options the generation options (can be null)
  @param typeAnnotations the type annotations (found by the converter - can be null)
  @throws IOException if something went wrong