code: function RecursiveConcat(options) {
  
  	this.concat = null;
  	this.currentCountDirectories = 0;
  	this.currentCountFiles = 0;
  	this.currentFolder = null;
  	this.newFileGenerated = null;
  	this.newFinalFile = "";
  	this.options = options;
  	this.walkCounter=0;
  	this.stream = new Transform({objectMode: true});
  	this.stream._transform = function(chunk, encoding, callback){
  		var fullPath = null,
  			file = {},
  			relative = chunk.relative;
  
  		file.base = chunk.base;
  		file.contents = chunk.contents;
  
  		file.extname = Path.extname(relative);
  		file.basename = Path.basename(relative, file.extname);
  		file.dirname = Path.dirname(relative);
  		file.newDirname = utils.fixDirName(file.dirname);
  		fullPath = file.newDirname + file.basename + file.extname;
  		file.path = Path.join(chunk.base, fullPath);
  
  		if (!file.relative) {
  			file.relative = relative;
  		}
  		callback(null, self.walk(file));
  	};
  
  	var self = this;
  
  	return this.stream;
  }
docs: Gulp Recursive Concat.