static/ext/src/util/AbstractMixedCollection.js
function(property, root, start, end) {
        var values = this.extractValues(property, root),
            length = values.length,
            sum    = 0,
            i;

        start = start || 0;
        end   = (end || end === 0) ? end : length - 1;

        for (i = start; i <= end; i++) {
            sum += values[i];
        }

        return sum;
    }
function(property, root, start, end) {
        var values = this.extractValues(property, root),
            length = values.length,
            sum    = 0,
            i;

        start = start || 0;
        end   = (end || end === 0) ? end : length - 1;

        for (i = start; i <= end; i++) {
            sum += values[i];
        }

        return sum;
    }
Collects all of the values of the given property and returns their sum
@param {String} property The property to sum by
@param {String} [root] 'root' property to extract the first argument from. This is used mainly when
summing fields in records, where the fields are all stored inside the 'data' object
@param {Number} [start=0] The record index to start at
@param {Number} [end=-1] The record index to end at
@return {Number} The total