code: function (paths, dest, options, cb) {
    'use strict';
  
    // copy the entire pattern directory, as-is, to our destination directory
    fs.copy(String(paths.folder), dest, function (err) {
      if (err && err.code !== 'ENOENT') {return log.error(err); }
  
      // success in cloning the directory
      log.info(paths.directory + ' pattern cloned into ' + dest);
  
      // create the cloned pattern's data file's path
      var clonedPatternYmlFile = paths.relative;
  
      // open the cloned pattern's data file
      var clonedPatternYml = fs.readFileSync(clonedPatternYmlFile, {encoding: 'utf8'});
  
      // get metadata from the data file
      var clonedPatternObject = utility.convertYamlToObject(clonedPatternYml);
  
      // new file contents
      var newDataFileContents = utility.convertObjectToYaml(addCloneSource(paths, clonedPatternObject));
  
      // overwrite the cloned pattern's data file with the adjusted contents
      fs.writeFile(clonedPatternYmlFile, newDataFileContents, function (err) {
        if (err) { throw err; }
        log.info(clonedPatternYmlFile + ' cloned source added to ' + options.dataFileName);
        cb();
      });
    });
  }
docs: /*
  Copy the pattern directory and adjust it's data file
  
  @param {String} paths  pattern source
  @param {String} dest  destination for pattern
  @param {Object} options  project options
  @param {Func} cb  callback function