'use strict';
var gutil = require('gulp-util');
var through = require('through2');
var execFile = require('child_process').execFile;

module.exports = function (options) {

    var nugetPath = __dirname + "./nuget.exe";
    var monoPath = null;
    var targetFile = nugetPath;
    var cmdArgs = ["restore"];

    if (options) {
        nugetPath = options.nugetPath || nugetPath;
        monoPath = options.monoPath || monoPath;
        if (options.additionalArgs && options.additionalArgs.length > 0) {
            cmdArgs = cmdArgs.concat(options.additionalArgs);
        }
    }
    if (monoPath && monoPath.length > 0) {
        targetFile = monoPath;
        cmdArgs.unshift(nugetPath);
    }

    return through.obj(function (file, enc, cb) {
        if (!file || !file.path) {
            cb(null, file);
            return;
        }
        cmdArgs.push(file.path);
        return execFile(targetFile, cmdArgs, function (error, stdout, stderror) {
            if (stdout.trim()) gutil.log(stdout);
            if (stderror.trim()) gutil.log(stderror);
            if (error) {
                throw error;
            }
            cb(null, file);
        });
    });
};

@@ -972,32 +972,48 @@
  (stdout.trim())
+ %7B%0A             
  gutil.log(stdou
@@ -1016,16 +1016,30 @@
 tdout);%0A
+            %7D%0A
         
@@ -1062,16 +1062,31 @@
 .trim())
+%7B%0A             
  gutil.l
@@ -1099,16 +1099,30 @@
 error);%0A
+            %7D%0A
         

no single line if statement