code: public void addTrigger( final File script, final String prog, final Map< String, IntString> depends, final int flag) throws IOException {
  		triggerscripts.add(readScript(script));
  		if ( null == prog) {
  			triggerscriptprogs.add(DEFAULTSCRIPTPROG);
  		} else if ( 0 == prog.length()){
  			triggerscriptprogs.add(DEFAULTSCRIPTPROG);
  		} else {
  			triggerscriptprogs.add(prog);
  		}
  		for ( Map.Entry< String, IntString> depend : depends.entrySet()) {
  			triggernames.add( depend.getKey());
  			triggerflags.add( depend.getValue().getInt() | flag);
  			triggerversions.add( depend.getValue().getString());
  			triggerindexes.add ( triggerCounter);
  		}
  		triggerCounter++;
  	}
docs: Adds a trigger to the RPM package.
  
  @param script the script to add.
  @param prog the interpreter with which to run the script.
  @param depends the map of rpms and versions that will trigger the script
  @param flag the trigger type (SCRIPT_TRIGGERPREIN, SCRIPT_TRIGGERIN, SCRIPT_TRIGGERUN, or SCRIPT_TRIGGERPOSTUN)
  @throws IOException there was an IO error