docs: def runCommands(self,commands,args):
          """
          Given a list of commands, runCommands executes them.
          This is one of the two key methods of MapExecutor.
          """
          errorCounter = 0
          if args.list:
              print '\n'.join(commands)
          else:
              # Each command is executed sequentially:
              for command in commands:
                  process = subprocess.Popen(command, stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)
                  stream = process.communicate()
                  output = stream[0]
                  erroroutput = stream[1]
                  returncode = process.returncode
                  if args.verbose:
                      print 'Executing command: '+command
                  if returncode != 0:
                      errorCounter = errorCounter + 1
                      if args.verbose or not args.ignore_errors:
                          print 'An error occurred:\n'
                          print erroroutput
                      if not args.ignore_errors:
                          print('Terminating map process.')
                          break
                  if returncode == 0 and len(output) > 0:
                      sys.stdout.write(output)
          if args.verbose:
              print 'Process completed successfully.'
              if errorCounter > 0:
                  if errorCounter > 1:
                      print str(errorCounter) + ' errors occurred during the process.'
                  else:
                      print str(errorCounter) + ' error occurred during the process.'