function(content, start, removedCount) {
    // If the contents were empty before and this template collection has an
    // empty view remove it now.
    var emptyView = get(this, 'emptyView');
    if (emptyView && emptyView instanceof Ember.View) {
      emptyView.removeFromParent();
    }

    // Loop through child views that correspond with the removed items.
    // Note that we loop from the end of the array to the beginning because
    // we are mutating it as we go.
    var childViews = this._childViews, childView, idx, len;

    len = this._childViews.length;

    var removingAll = removedCount === len;

    if (removingAll) {
      this.currentState.empty(this);
      this.invokeRecursively(function(view) {
        view.removedFromDOM = true;
      }, false);
    }

    for (idx = start + removedCount - 1; idx >= start; idx--) {
      childView = childViews[idx];
      childView.destroy();
    }
  }
function(content, start, removedCount) {
    // If the contents were empty before and this template collection has an
    // empty view remove it now.
    var emptyView = get(this, 'emptyView');
    if (emptyView && emptyView instanceof Ember.View) {
      emptyView.removeFromParent();
    }

    // Loop through child views that correspond with the removed items.
    // Note that we loop from the end of the array to the beginning because
    // we are mutating it as we go.
    var childViews = this._childViews, childView, idx, len;

    len = this._childViews.length;

    var removingAll = removedCount === len;

    if (removingAll) {
      this.currentState.empty(this);
      this.invokeRecursively(function(view) {
        view.removedFromDOM = true;
      }, false);
    }

    for (idx = start + removedCount - 1; idx >= start; idx--) {
      childView = childViews[idx];
      childView.destroy();
    }
  }
function ( content , start , removedCount ) { // If the contents were empty before and this template collection has an // empty view remove it now. var emptyView = get ( this , 'emptyView' ) ; if ( emptyView && emptyView instanceof Ember . View ) { emptyView . removeFromParent ( ) ; } // Loop through child views that correspond with the removed items. // Note that we loop from the end of the array to the beginning because // we are mutating it as we go. var childViews = this . _childViews , childView , idx , len ; len = this . _childViews . length ; var removingAll = removedCount === len ; if ( removingAll ) { this . currentState . empty ( this ) ; this . invokeRecursively ( function ( view ) { view . removedFromDOM = true ; } , false ) ; } for ( idx = start + removedCount - 1 ; idx >= start ; idx -- ) { childView = childViews [ idx ] ; childView . destroy ( ) ; } }
Called when a mutation to the underlying content array will occur.

This method will remove any views that are no longer in the underlying
content array.

Invokes whenever the content array itself will change.

@method arrayWillChange
@param {Array} content the managed collection of objects
@param {Number} start the index at which the changes will occurr
@param {Number} removed number of object to be removed from content
Called when a mutation to the underlying content array will occur .