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

            if (this.Align != this.Align_DefaultValue)
            {
                hashtables.Add("align", this.Align);
            }
            double?rotation             = this.Rotation;
            double?rotationDefaultValue = this.Rotation_DefaultValue;

            if ((rotation.GetValueOrDefault() == rotationDefaultValue.GetValueOrDefault() ? rotation.HasValue != rotationDefaultValue.HasValue : true))
            {
                hashtables.Add("rotation", this.Rotation);
            }
            if (this.Style != this.Style_DefaultValue)
            {
                hashtables.Add("style", this.Style);
            }
            if (this.Text != this.Text_DefaultValue)
            {
                hashtables.Add("text", this.Text);
            }
            if (this.TextAlign != this.TextAlign_DefaultValue)
            {
                hashtables.Add("textAlign", this.TextAlign);
            }
            bool?useHTML             = this.UseHTML;
            bool?useHTMLDefaultValue = this.UseHTML_DefaultValue;

            if ((useHTML.GetValueOrDefault() == useHTMLDefaultValue.GetValueOrDefault() ? useHTML.HasValue != useHTMLDefaultValue.HasValue : true))
            {
                hashtables.Add("useHTML", this.UseHTML);
            }
            if (this.VerticalAlign != this.VerticalAlign_DefaultValue)
            {
                ZAxisPlotLinesLabelVerticalAlign verticalAlign = this.VerticalAlign;
                hashtables.Add("verticalAlign", Highcharts.FirstCharacterToLower(verticalAlign.ToString()));
            }
            rotationDefaultValue = this.X;
            rotation             = this.X_DefaultValue;
            if ((rotationDefaultValue.GetValueOrDefault() == rotation.GetValueOrDefault() ? rotationDefaultValue.HasValue != rotation.HasValue : true))
            {
                hashtables.Add("x", this.X);
            }
            rotation             = this.Y;
            rotationDefaultValue = this.Y_DefaultValue;
            if ((rotation.GetValueOrDefault() == rotationDefaultValue.GetValueOrDefault() ? rotation.HasValue != rotationDefaultValue.HasValue : true))
            {
                hashtables.Add("y", this.Y);
            }
            return(hashtables);
        }