code: function resolveModelViewName (modelViews, modelViewName, resolved) {
      // map of names resolved - this is needed to detect infinite loops
      if (!resolved) {
          resolved = {}
      }
      // throw error if name has already been resolved - infinite loop
      assert.ok(!resolved[modelViewName], 'views error: '+modelViewName+' cannot be resolved to model view object')
      // set flag that current name has been seen
      resolved[modelViewName] = true
      // get specified model view - this has already been tested to exist
      var modelView = modelViews[modelViewName]
      // return resolved value(s)
      return Array.isArray(modelView)
          ? _.map(modelView, modelView => requireValidModelView(modelView, modelViews, true, resolved))
          : requireValidModelView(modelView, modelViews, true, resolved)
  }
docs: /* private functions 
  @function resolveModelViewName
  
  take a model view name and return model view object or list of objects
  
  @param {object} modelViews
  @param {string} modelViewName
  @param {object} resolved
  
  @returns {array|object}
  
  @throws {Error}