code: function _chown(file, uid, gid, options) {
    options = _.opts(options, {abortOnError: true});
    uid = parseInt(uid, 10);
    uid = _.isFinite(uid) ? uid : getUid(_fileStats(file).uid, {refresh: false});
    gid = parseInt(gid, 10);
    gid = _.isFinite(gid) ? gid : getGid(_fileStats(file).gid, {refresh: false});
    try {
      if (options.abortOnError) {
        nodeFs.chownSync(file, uid, gid);
      } else {
        fs.chownSync(file, uid, gid);
      }
    } catch (e) {
      if (options.abortOnError) {
        throw e;
      }
    }
  }
docs: this is a strict function signature version of _chown, it also do not worry about recursivity