whole_func_string: 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;
      }
func_code_string: 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;
      }
func_documentation_string: 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