internal override Hashtable ToHashtable()
        {
            Hashtable hashtables = new Hashtable();

            if (this.Align != this.Align_DefaultValue)
            {
                PlotOptionsScatterDataLabelsAlign align = this.Align;
                hashtables.Add("align", Highcharts.FirstCharacterToLower(align.ToString()));
            }
            bool?allowOverlap             = this.AllowOverlap;
            bool?allowOverlapDefaultValue = this.AllowOverlap_DefaultValue;

            if ((allowOverlap.GetValueOrDefault() == allowOverlapDefaultValue.GetValueOrDefault() ? allowOverlap.HasValue != allowOverlapDefaultValue.HasValue : true))
            {
                hashtables.Add("allowOverlap", this.AllowOverlap);
            }
            if (this.BackgroundColor != this.BackgroundColor_DefaultValue)
            {
                hashtables.Add("backgroundColor", this.BackgroundColor);
            }
            if (this.BorderColor != this.BorderColor_DefaultValue)
            {
                hashtables.Add("borderColor", this.BorderColor);
            }
            double?borderRadius             = this.BorderRadius;
            double?borderRadiusDefaultValue = this.BorderRadius_DefaultValue;

            if ((borderRadius.GetValueOrDefault() == borderRadiusDefaultValue.GetValueOrDefault() ? borderRadius.HasValue != borderRadiusDefaultValue.HasValue : true))
            {
                hashtables.Add("borderRadius", this.BorderRadius);
            }
            borderRadiusDefaultValue = this.BorderWidth;
            borderRadius             = this.BorderWidth_DefaultValue;
            if ((borderRadiusDefaultValue.GetValueOrDefault() == borderRadius.GetValueOrDefault() ? borderRadiusDefaultValue.HasValue != borderRadius.HasValue : true))
            {
                hashtables.Add("borderWidth", this.BorderWidth);
            }
            if (this.ClassName != this.ClassName_DefaultValue)
            {
                hashtables.Add("className", this.ClassName);
            }
            if (this.Color != this.Color_DefaultValue)
            {
                hashtables.Add("color", this.Color);
            }
            allowOverlapDefaultValue = this.Crop;
            allowOverlap             = this.Crop_DefaultValue;
            if ((allowOverlapDefaultValue.GetValueOrDefault() == allowOverlap.GetValueOrDefault() ? allowOverlapDefaultValue.HasValue != allowOverlap.HasValue : true))
            {
                hashtables.Add("crop", this.Crop);
            }
            allowOverlap             = this.Defer;
            allowOverlapDefaultValue = this.Defer_DefaultValue;
            if ((allowOverlap.GetValueOrDefault() == allowOverlapDefaultValue.GetValueOrDefault() ? allowOverlap.HasValue != allowOverlapDefaultValue.HasValue : true))
            {
                hashtables.Add("defer", this.Defer);
            }
            allowOverlapDefaultValue = this.Enabled;
            allowOverlap             = this.Enabled_DefaultValue;
            if ((allowOverlapDefaultValue.GetValueOrDefault() == allowOverlap.GetValueOrDefault() ? allowOverlapDefaultValue.HasValue != allowOverlap.HasValue : true))
            {
                hashtables.Add("enabled", this.Enabled);
            }
            if (this.Format != this.Format_DefaultValue)
            {
                hashtables.Add("format", this.Format);
            }
            if (this.Formatter != this.Formatter_DefaultValue)
            {
                hashtables.Add("formatter", this.Formatter);
                Highcharts.AddFunction("PlotOptionsScatterDataLabelsFormatter.formatter", this.Formatter);
            }
            allowOverlap             = this.Inside;
            allowOverlapDefaultValue = this.Inside_DefaultValue;
            if ((allowOverlap.GetValueOrDefault() == allowOverlapDefaultValue.GetValueOrDefault() ? allowOverlap.HasValue != allowOverlapDefaultValue.HasValue : true))
            {
                hashtables.Add("inside", this.Inside);
            }
            if (this.Overflow != this.Overflow_DefaultValue)
            {
                PlotOptionsScatterDataLabelsOverflow overflow = this.Overflow;
                hashtables.Add("overflow", Highcharts.FirstCharacterToLower(overflow.ToString()));
            }
            borderRadius             = this.Padding;
            borderRadiusDefaultValue = this.Padding_DefaultValue;
            if ((borderRadius.GetValueOrDefault() == borderRadiusDefaultValue.GetValueOrDefault() ? borderRadius.HasValue != borderRadiusDefaultValue.HasValue : true))
            {
                hashtables.Add("padding", this.Padding);
            }
            borderRadiusDefaultValue = this.Rotation;
            borderRadius             = this.Rotation_DefaultValue;
            if ((borderRadiusDefaultValue.GetValueOrDefault() == borderRadius.GetValueOrDefault() ? borderRadiusDefaultValue.HasValue != borderRadius.HasValue : true))
            {
                hashtables.Add("rotation", this.Rotation);
            }
            if (this.Shadow != this.Shadow_DefaultValue)
            {
                hashtables.Add("shadow", this.Shadow);
            }
            if (this.Shape != this.Shape_DefaultValue)
            {
                hashtables.Add("shape", this.Shape);
            }
            if (this.Style != this.Style_DefaultValue)
            {
                hashtables.Add("style", this.Style);
            }
            allowOverlapDefaultValue = this.UseHTML;
            allowOverlap             = this.UseHTML_DefaultValue;
            if ((allowOverlapDefaultValue.GetValueOrDefault() == allowOverlap.GetValueOrDefault() ? allowOverlapDefaultValue.HasValue != allowOverlap.HasValue : true))
            {
                hashtables.Add("useHTML", this.UseHTML);
            }
            if (this.VerticalAlign != this.VerticalAlign_DefaultValue)
            {
                PlotOptionsScatterDataLabelsVerticalAlign verticalAlign = this.VerticalAlign;
                hashtables.Add("verticalAlign", Highcharts.FirstCharacterToLower(verticalAlign.ToString()));
            }
            borderRadius             = this.X;
            borderRadiusDefaultValue = this.X_DefaultValue;
            if ((borderRadius.GetValueOrDefault() == borderRadiusDefaultValue.GetValueOrDefault() ? borderRadius.HasValue != borderRadiusDefaultValue.HasValue : true))
            {
                hashtables.Add("x", this.X);
            }
            borderRadiusDefaultValue = this.Y;
            borderRadius             = this.Y_DefaultValue;
            if ((borderRadiusDefaultValue.GetValueOrDefault() == borderRadius.GetValueOrDefault() ? borderRadiusDefaultValue.HasValue != borderRadius.HasValue : true))
            {
                hashtables.Add("y", this.Y);
            }
            borderRadius             = this.ZIndex;
            borderRadiusDefaultValue = this.ZIndex_DefaultValue;
            if ((borderRadius.GetValueOrDefault() == borderRadiusDefaultValue.GetValueOrDefault() ? borderRadius.HasValue != borderRadiusDefaultValue.HasValue : true))
            {
                hashtables.Add("zIndex", this.ZIndex);
            }
            return(hashtables);
        }
        public PlotOptionsScatterDataLabels()
        {
            int num = 1;
            PlotOptionsScatterDataLabelsAlign plotOptionsScatterDataLabelsAlign = (PlotOptionsScatterDataLabelsAlign)num;

            this.Align_DefaultValue = (PlotOptionsScatterDataLabelsAlign)num;
            this.Align = plotOptionsScatterDataLabelsAlign;
            bool?nullable = new bool?(false);

            this.AllowOverlap_DefaultValue = nullable;
            this.AllowOverlap = nullable;
            object obj = null;
            string str = (string)obj;

            this.BackgroundColor_DefaultValue = (string)obj;
            this.BackgroundColor = str;
            object obj1 = null;

            str = (string)obj1;
            this.BorderColor_DefaultValue = (string)obj1;
            this.BorderColor = str;
            double?nullable1 = new double?(0);

            this.BorderRadius_DefaultValue = nullable1;
            this.BorderRadius             = nullable1;
            nullable1                     = new double?(0);
            this.BorderWidth_DefaultValue = nullable1;
            this.BorderWidth              = nullable1;
            object obj2 = null;

            str = (string)obj2;
            this.ClassName_DefaultValue = (string)obj2;
            this.ClassName = str;
            object obj3 = null;

            str = (string)obj3;
            this.Color_DefaultValue = (string)obj3;
            this.Color                = str;
            nullable                  = new bool?(true);
            this.Crop_DefaultValue    = nullable;
            this.Crop                 = nullable;
            nullable                  = new bool?(true);
            this.Defer_DefaultValue   = nullable;
            this.Defer                = nullable;
            nullable                  = new bool?(false);
            this.Enabled_DefaultValue = nullable;
            this.Enabled              = nullable;
            string str1 = "{y}";

            str = str1;
            this.Format_DefaultValue = str1;
            this.Format = str;
            string str2 = "";

            str = str2;
            this.Formatter_DefaultValue = str2;
            this.Formatter           = str;
            nullable                 = null;
            this.Inside_DefaultValue = nullable;
            this.Inside              = nullable;
            int num1 = 0;
            PlotOptionsScatterDataLabelsOverflow plotOptionsScatterDataLabelsOverflow = (PlotOptionsScatterDataLabelsOverflow)num1;

            this.Overflow_DefaultValue = (PlotOptionsScatterDataLabelsOverflow)num1;
            this.Overflow              = plotOptionsScatterDataLabelsOverflow;
            nullable1                  = new double?((double)5);
            this.Padding_DefaultValue  = nullable1;
            this.Padding               = nullable1;
            nullable1                  = new double?(0);
            this.Rotation_DefaultValue = nullable1;
            this.Rotation              = nullable1;
            Highsoft.Web.Mvc.Charts.Shadow shadow = new Highsoft.Web.Mvc.Charts.Shadow()
            {
                Enabled = false
            };
            Highsoft.Web.Mvc.Charts.Shadow shadow1 = shadow;
            this.Shadow_DefaultValue = shadow;
            this.Shadow = shadow1;
            string str3 = "square";

            str = str3;
            this.Shape_DefaultValue = str3;
            this.Shape = str;
            Hashtable hashtables = new Hashtable()
            {
                { "color", "contrast" },
                { "fontSize", "11px" },
                { "fontWeight", "bold" },
                { "textOutline", "1px 1px contrast" }
            };
            Hashtable hashtables1 = hashtables;
            Hashtable hashtables2 = hashtables1;

            this.Style_DefaultValue = hashtables1;
            this.Style = hashtables2;
            nullable   = new bool?(false);
            this.UseHTML_DefaultValue = nullable;
            this.UseHTML = nullable;
            int num2 = 0;
            PlotOptionsScatterDataLabelsVerticalAlign plotOptionsScatterDataLabelsVerticalAlign = (PlotOptionsScatterDataLabelsVerticalAlign)num2;

            this.VerticalAlign_DefaultValue = (PlotOptionsScatterDataLabelsVerticalAlign)num2;
            this.VerticalAlign  = plotOptionsScatterDataLabelsVerticalAlign;
            nullable1           = new double?(0);
            this.X_DefaultValue = nullable1;
            this.X                   = nullable1;
            nullable1                = new double?((double)-6);
            this.Y_DefaultValue      = nullable1;
            this.Y                   = nullable1;
            nullable1                = new double?((double)6);
            this.ZIndex_DefaultValue = nullable1;
            this.ZIndex              = nullable1;
        }