public Values GetValues(Series series)
        {
            if (this._values == null)
            {
                this._values = new Dictionary <Series, Values>();
            }
            Values values = default(Values);

            if (!this._values.TryGetValue(series, out values))
            {
                values = new Values();
                if (this.Children == null)
                {
                    double    value;
                    double    absoluteValue;
                    DataPoint dataPoint = default(DataPoint);
                    if (this._dataPoints == null)
                    {
                        value = (absoluteValue = 0.0);
                    }
                    else if (!this._dataPoints.TryGetValue(series, out dataPoint) || dataPoint.Empty)
                    {
                        value = (absoluteValue = 0.0);
                    }
                    else
                    {
                        value         = dataPoint.YValues[0];
                        absoluteValue = Math.Abs(value);
                    }
                    values.AddValues(value, absoluteValue);
                }
                else
                {
                    foreach (CategoryNode child in this.Children)
                    {
                        Values values2 = child.GetValues(series);
                        values.AddValues(values2.Value, values2.AbsoluteValue);
                    }
                }
                this._values.Add(series, values);
            }
            return(values);
        }
 public Values GetValues(Series series)
 {
     if (_values == null)
     {
         _values = new Dictionary <Series, Values>();
     }
     if (!_values.TryGetValue(series, out Values value))
     {
         value = new Values();
         if (Children == null)
         {
             double    value2;
             double    absoluteValue;
             DataPoint value3;
             if (_dataPoints == null)
             {
                 value2 = (absoluteValue = 0.0);
             }
             else if (!_dataPoints.TryGetValue(series, out value3) || value3.Empty)
             {
                 value2 = (absoluteValue = 0.0);
             }
             else
             {
                 value2        = value3.YValues[0];
                 absoluteValue = Math.Abs(value2);
             }
             value.AddValues(value2, absoluteValue);
         }
         else
         {
             foreach (CategoryNode child in Children)
             {
                 Values values = child.GetValues(series);
                 value.AddValues(values.Value, values.AbsoluteValue);
             }
         }
         _values.Add(series, value);
     }
     return(value);
 }