code: function StackItem(axis, options, isNegative, x, stackOption) {
  
          var inverted = axis.chart.inverted;
  
          this.axis = axis;
  
          // Tells if the stack is negative
          this.isNegative = isNegative;
  
          // Save the options to be able to style the label
          this.options = options;
  
          // Save the x value to be able to position the label later
          this.x = x;
  
          // Initialize total value
          this.total = null;
  
          // This will keep each points' extremes stored by series.index and point index
          this.points = {};
  
          // Save the stack option on the series configuration object, and whether to treat it as percent
          this.stack = stackOption;
  
          // The align options and text align varies on whether the stack is negative and
          // if the chart is inverted or not.
          // First test the user supplied value, then use the dynamic.
          this.alignOptions = {
              align: options.align || (inverted ? (isNegative ? 'left' : 'right') : 'center'),
              verticalAlign: options.verticalAlign || (inverted ? 'middle' : (isNegative ? 'bottom' : 'top')),
              y: pick(options.y, inverted ? 4 : (isNegative ? 14 : -6)),
              x: pick(options.x, inverted ? (isNegative ? -6 : 6) : 0)
          };
  
          this.textAlign = options.textAlign || (inverted ? (isNegative ? 'right' : 'left') : 'center');
      }
docs: end Series prototype 
  The class for stack items