code: function (index) {
          var split = false;
          var arrayOperationIndex, arrayOperation,
              arrayOperationRangeStart, arrayOperationRangeEnd,
              len;
  
          // OPTIMIZE: we could search these faster if we kept a balanced tree.
          // find leftmost arrayOperation to the right of `index`
          for (arrayOperationIndex = arrayOperationRangeStart = 0, len = this._operations.length; arrayOperationIndex < len; ++arrayOperationIndex) {
            arrayOperation = this._operations[arrayOperationIndex];
  
            if (arrayOperation.type === DELETE) { continue; }
  
            arrayOperationRangeEnd = arrayOperationRangeStart + arrayOperation.count - 1;
  
            if (index === arrayOperationRangeStart) {
              break;
            } else if (index > arrayOperationRangeStart && index <= arrayOperationRangeEnd) {
              split = true;
              break;
            } else {
              arrayOperationRangeStart = arrayOperationRangeEnd + 1;
            }
          }
  
          return new ArrayOperationMatch(arrayOperation, arrayOperationIndex, split, arrayOperationRangeStart);
        }
docs: Return an `ArrayOperationMatch` for the operation that contains the item at `index`.
  
  @method _findArrayOperation
  
  @param {Number} index the index of the item whose operation information
  should be returned.
  @private