docs: function createFromMetadata (connector, modelsMetadata) {
      if (!connector || !modelsMetadata) {
        throw new Error('Please provide both connector and metadata so Arrow could create models')
      }
  
      const loadModels = connector.config.generateModels
  
      return Object.keys(modelsMetadata).reduce(function (previousModels, modelName) {
        const persistModels = connector.config.persistModels
        if (loadModels && loadModels.indexOf(modelName) === -1) {
          return previousModels
        }
        const metadata = modelsMetadata[modelName]
        metadata.autogen = !!connector.config.modelAutogen
        metadata.generated = true
        metadata.connector = connector.name
        metadata.name = modelName
  
        dataValidator.validate(metadata, metadataSchema)
  
        if (persistModels) {
          utils.saveModelSync(createModelName(connector, modelName), metadata, connector.modelDir)
        } else {
          previousModels[modelName] = Arrow.createModel(createModelName(connector, modelName), metadata)
        }
        return previousModels
      }, {})
    }