code: function(collection, preventUpdate) {
        this.stopListening(this.collection, 'remove', removeItemView);
        this.stopListening(this.collection, 'add', addItemView);
        this.stopListening(this.collection, 'sort', this.reorder);
        this.stopListening(this.collection, 'reset', this.update);
  
        this.collection = collection;
  
        this.listenTo(this.collection, 'remove', removeItemView);
        this.listenTo(this.collection, 'add', addItemView);
        this.listenTo(this.collection, 'sort', this.reorder);
        this.listenTo(this.collection, 'reset', this.update);
  
        if (!preventUpdate) {
          this.update();
        }
      }
docs: Sets the collection from which this view generates item views.
  This method will attach all necessary event listeners to the new collection to auto-generate item views
  and has the option of removing listeners on a previous collection. It will immediately update child
  views and re-render if it is necessary - this behavior can be prevented with preventUpdate argument
  
  @method setCollection
  @param collection {Backbone.Collection instance} the new collection that this list view should use.
  @param preventUpdate {Boolean} if true, the list view will not update the child views nor rerender.