docs: function(_contentLength) {
      var scrollTop, rowHeight, columnCount, calculatedStartingIndex,
          contentLength;
  
      if (_contentLength === undefined) {
        contentLength = get(this, 'content.length');
      } else {
        contentLength = _contentLength;
      }
  
      scrollTop = this.scrollTop;
      rowHeight = get(this, 'rowHeight');
      columnCount = get(this, 'columnCount');
  
      if (this.heightForIndex) {
        calculatedStartingIndex = this._calculatedStartingIndex();
      } else {
        calculatedStartingIndex = floor(scrollTop / rowHeight) * columnCount;
      }
  
      var viewsNeededForViewport = this._numChildViewsForViewport();
      var paddingCount = (1 * columnCount);
      var largestStartingIndex = max(contentLength - viewsNeededForViewport, 0);
  
      return min(calculatedStartingIndex, largestStartingIndex);
    }