     syncOptions.data.search = search if search
 
     modelOrCollection = collection
-    modelOrCollection = options.model if options.only && options.model
+    modelOrCollection = options.model if @loadOptions.only && options.model
     
     jqXhr = Backbone.sync.call collection, 'read', modelOrCollection, syncOptions
 

    collection = @storageManager.createNewCollection @loadOptions.name, []

    unless options.cache == false
      if only?
        alreadyLoadedIds = _.select only, (id) => cachedCollection.get(id)?.associationsAreLoaded(include)
        if alreadyLoadedIds.length == only.length
          # We've already seen every id that is being asked for and have all the associated data.
          @_success options, collection, _.map only, (id) => cachedCollection.get(id)
          return collection
      else
        # Check if we have, at some point, requested enough records with this this order and filter(s).


  _parseLoadOptions: (loadOptions) ->
    @loadOptions = $.extend {}, loadOptions
    @loadOptions.only = if @loadOptions.only then _.map((Brainstem.Utils.extractArray "only", @loadOptions), (id) -> String(id)) else null

  load: (loadOptions) ->
    @_parseLoadOptions(loadOptions)

    options = @loadOptions
    search = options.search
    include = _(options.include).map((i) -> _.keys(i)[0]) # pull off the top layer of includes
    filters = options.filters || {}
