public static int launchProcessAndWaitFor(List<String> commands,File workingDir,final OutputStream outputStream,IProcessReceiver processReceiver) throws InterruptedException, IOException {
  return launchProcessAndWaitFor(commands,workingDir,null,outputStream,processReceiver);
}

public static int launchProcessAndWaitFor ( List < String > commands , File workingDir , final OutputStream outputStream , IProcessReceiver processReceiver ) throws InterruptedException , IOException { return launchProcessAndWaitFor ( commands , workingDir , null , outputStream , processReceiver ) ; }
launch the process specified in the commands and wait for it to terminate .
