original_string: private function execCommand(array $command): array
    {
      $this->logVerbose('Execute: %s', implode(' ', $command));
      list($output, $ret) = ProgramExecution::exec1($command, null);
      if ($ret!=0)
      {
        foreach ($output as $line)
        {
          $this->logInfo($line);
        }
        $this->logError("Error executing '%s'.", implode(' ', $command));
      }
      else
      {
        foreach ($output as $line)
        {
          $this->logVerbose($line);
        }
      }
  
      return $output;
    }
code: private function execCommand(array $command): array
    {
      $this->logVerbose('Execute: %s', implode(' ', $command));
      list($output, $ret) = ProgramExecution::exec1($command, null);
      if ($ret!=0)
      {
        foreach ($output as $line)
        {
          $this->logInfo($line);
        }
        $this->logError("Error executing '%s'.", implode(' ', $command));
      }
      else
      {
        foreach ($output as $line)
        {
          $this->logVerbose($line);
        }
      }
  
      return $output;
    }
code_tokens: private function execCommand ( array $ command ) : array { $ this -> logVerbose ( 'Execute: %s' , implode ( ' ' , $ command ) ) ; list ( $ output , $ ret ) = ProgramExecution :: exec1 ( $ command , null ) ; if ( $ ret != 0 ) { foreach ( $ output as $ line ) { $ this -> logInfo ( $ line ) ; } $ this -> logError ( "Error executing '%s'." , implode ( ' ' , $ command ) ) ; } else { foreach ( $ output as $ line ) { $ this -> logVerbose ( $ line ) ; } } return $ output ; }
docstring: Executes an external program.
  
  @param string[] $command The command as array.
  
  @return string[] The output of the command.
docstring_tokens: Executes an external program .