code: function getFileList() {
      var i, file, isOverridden = {}, files = [], customFiles, baseFiles;
      baseFiles = fs.readdirSync(path.join(modelsPath, definitionDir));
      customFiles = fs.readdirSync(path.join(modelsPath, definitionDirCustom));
  
      for (i = 0; i < customFiles.length; i = i + 1) {
          file = customFiles[i];
          if (file.match(/\.js$/)) {
              isOverridden[file] = true;
              files.push('./' + path.join(definitionDirCustom, file));
          }
      }
  
      for (i = 0; i < baseFiles.length; i = i + 1) {
          file = baseFiles[i];
          if (!isOverridden[file] && file.match(/\.js$/)) {
              files.push('./' + path.join(definitionDir, file));
          }
      }
      return files;
  }
docs: Generates list of definition files by looking given modelsPath directory. It traverses 'definition-files'
  and 'definition-files-custom' directories to generate the list. Files in 'definition-files' will be skipped
  if a file with same name is found in 'definition-files-custom' directory.
  @private
  @returns {Array}
  @example
  var list = getFileList('../model'); // ['./definition-files-custom/public_cart.js', './definition-files/public_account.js]