code: function dumpAndWrap(fName /*, localDir:string*/, sourceToDump) {
      let p = new Promise(function (resolve) {
          fs.stat(fName, (err, stat) => {
              if (!err) {
                  if (stat.isFile()) {
                      logger.debug(`Found a file to wrap at ${fName}`);
                      let stream = fs.createReadStream(fName, {
                          'encoding': 'utf8'
                      });
                      resolve(stream);
                      return;
                  }
                  logger.error(`Should not be here:\n ${util.format(stat)}`);
              }
              else {
                  logger.warn(`cant find file ${fName}`);
                  if (sourceToDump) {
                      logger.debug(`Found alternative source dumping it from \n ${util.format(sourceToDump)}`);
                      let target = fs.createWriteStream(fName, { 'flags': 'a' });
                      sourceToDump.pipe(target);
                      target.on('close', () => {
                          let stream = fs.createReadStream(fName, {
                              'encoding': 'utf8'
                          });
                          logger.debug(`should resolve with ${util.format(stream)}`);
                          resolve(stream);
                          return;
                      });
                  }
                  else {
                      logger.error("Output file error, Still cant open output file, returning empy stream");
                      let dummyStream = new streamLib.Readable();
                      dummyStream.push(null);
                      resolve(dummyStream);
                      return;
                  }
              }
          });
      });
      return p;
  }
docs: /*
  Path{String} => ReadableStream
  Given a path we try to open file
  if ok return stream
  if not
  we try to pump from _stdio
  return empty stream