docs: function() {
              var i, j, seriesObject, loopSeries, prevSeries, loopPoint, prevStackedTotal,
                  fieldNames = this.processedData.fieldNames,
                  series = this.processedData.series;
  
              for(i = 0; i < fieldNames.length; i++) {
                  if(this.shouldShowSeries(fieldNames[i], this.properties)) {
                      seriesObject = this.constructSeriesObject(fieldNames[i], series[fieldNames[i]], this.properties);
                      this.hcConfig.series.push(seriesObject);
                  }
              }
              // if the legend labels have been set by the user, honor them here
              if(this.legendLabels.length > 0) {
                  var label, name,
                      newSeriesList = [],
  
                      // helper function for finding a series by its name
                      findInSeriesList = function(name) {
                          for(var j = 0; j < this.hcConfig.series.length; j++) {
                              if(this.hcConfig.series[j].name === name) {
                                  return this.hcConfig.series[j];
                              }
                          }
                          return false;
                      }.bind(this);
  
                  // first loop through the legend labels, either get the series for that field if it already exists
                  // or add an empty field if it doesn't
                  for(i = 0; i < this.legendLabels.length; i++) {
                      label = this.legendLabels[i];
                      loopSeries = findInSeriesList(label);
                      if(loopSeries) {
                          newSeriesList.push(loopSeries);
                      }
                      else {
                          newSeriesList.push({
                              name: label,
                              data: []
                          });
                      }
                  }
  
                  // then loop through the series data and add back any series that weren't in the legend label list
                  for(i = 0; i < this.hcConfig.series.length; i++) {
                      name = this.hcConfig.series[i].name;
                      if($.inArray(name, this.legendLabels) === -1) {
                          newSeriesList.push(this.hcConfig.series[i]);
                      }
                  }
                  this.hcConfig.series = newSeriesList;
              }
  
              // SPL-50950: to correctly handle stacked mode with log axes, we have to reduce each point's y value to
              // the post-log difference between its value and the sum of the ones before it
              // SPL-55980: bypass this logic for line charts since they are never stacked
              if(this.logYAxis && (this.properties['chart.stackMode'] in { 'stacked': true, 'stacked100': true }) && this.properties['chart'] !== 'line') {
                  var numSeries = this.hcConfig.series.length,
                      lastSeries = this.hcConfig.series[numSeries - 1];
  
                  // initialize the 'stackedTotal' of each point in the last (aka bottom) series to its pre-log y value
                  for(i = 0; i < lastSeries.data.length; i++) {
                      lastSeries.data[i].stackedTotal = lastSeries.data[i].rawY;
                  }
                  // loop through the series list backward so that we traverse bottom to top, starting with the
                  // second from the bottom
                  for(i = numSeries - 2; i >= 0; i--) {
                      loopSeries = this.hcConfig.series[i];
                      prevSeries = this.hcConfig.series[i + 1];
                      for(j = 0; j < loopSeries.data.length; j++) {
                          loopPoint = loopSeries.data[j];
                          prevStackedTotal = prevSeries.data[j].stackedTotal;
                          // adjust the point's y value based on the previous point's stacked total
                          loopPoint.y = this.mathUtils.absLogBaseTen(prevStackedTotal + loopPoint.rawY)
                                              - this.mathUtils.absLogBaseTen(prevStackedTotal);
                          // also update the points stacked total for the next point to use
                          loopPoint.stackedTotal = prevStackedTotal + loopPoint.rawY;
                      }
                  }
              }
          }