docs: function gulpRemember(cacheName) {
    var cache; // the files we've ever put our hands on in the current stream
  
    if (cacheName !== undefined && typeof cacheName !== 'number' && typeof cacheName !== 'string') {
      throw new PluginError(pluginName, 'Usage: require("gulp-remember")(name); where name is undefined, number or string');
    }
    cacheName = cacheName || defaultName; // maybe need to use a default cache
    caches[cacheName] = caches[cacheName] || {}; // maybe initialize the named cache
    cache = caches[cacheName];
  
    function transform(file, enc, callback) {
      var fileKey = file.path.toLowerCase();
      cache[fileKey] = file.clone(); // add file to our cache
      callback();
    }
  
    function flush(callback) {
      // add all files we've ever seen back into the stream
      for (var key in cache) {
        if (cache.hasOwnProperty(key)) {
          this.push(cache[key].clone()); // add this file back into the current stream
        }
      }
      callback();
    }
  
    return through.obj(transform, flush);
  }