public/javascripts/vendor/javascripts/ember.js
function(views, start, removed) {
    if (removed === 0) { return; }

    var changedViews = views.slice(start, start+removed);
    this.initializeViews(changedViews, null, null);

    this.invokeForState('childViewsWillChange', views, start, removed);
  }
function(views, start, removed) {
    if (removed === 0) { return; }

    var changedViews = views.slice(start, start+removed);
    this.initializeViews(changedViews, null, null);

    this.invokeForState('childViewsWillChange', views, start, removed);
  }
function ( views , start , removed ) { if ( removed === 0 ) { return ; } var changedViews = views . slice ( start , start + removed ) ; this . initializeViews ( changedViews , null , null ) ; this . invokeForState ( 'childViewsWillChange' , views , start , removed ) ; }
When a child view is removed, destroy its element so that
it is removed from the DOM.

The array observer that triggers this action is set up in the
`renderToBuffer` method.

@private
@param {Ember.Array} views the child views array before mutation
@param {Number} start the start position of the mutation
@param {Number} removed the number of child views removed
When a child view is removed destroy its element so that it is removed from the DOM .