code: function pluckModels (cell, modelPath, models, cellDefinitions) {
    cell = extendCell(cell, cellDefinitions)
    if (_.isObject(cell.model)) {
      const addedPath = appendModelPath(modelPath.modelPath(), cell.id, cell.internal)
      models[addedPath] = cell.model
    } else if (cell.children) { // recurse on objects
      cell.children.forEach((cell) => {
        const newPath = typeof cell.model === 'string' ? modelPath.concat(cell.model) : modelPath
        pluckModels(cell, newPath, models, cellDefinitions)
      })
    } else if (cell.arrayOptions) { // recurse on arrays
      pluckFromArrayOptions(cell, modelPath, models, cellDefinitions)
    }
  }
docs: Collects schemas from a cell to add to the model in a hash. Keys in the hash are
  the schema's path withinthe bunsen model.
  
  @param {BunsenCell} cell BunsenCell with array options
  @param {BunsenModelPath} modelPath Current path within the model
  @param {Object} models Hash containing schemas to add
  @param {Object} cellDefinitions Hash containing cell definitions