public override void Reflection(StringBuilder sb)
        {
            sb.AppendLine("<DirectedEnergyFirePdu>");
            base.Reflection(sb);
            try
            {
                sb.AppendLine("<munitionType>");
                this._munitionType.Reflection(sb);
                sb.AppendLine("</munitionType>");
                sb.AppendLine("<shotStartTime>");
                this._shotStartTime.Reflection(sb);
                sb.AppendLine("</shotStartTime>");
                sb.AppendLine("<commulativeShotTime type=\"float\">" + this._commulativeShotTime.ToString(CultureInfo.InvariantCulture) + "</commulativeShotTime>");
                sb.AppendLine("<ApertureEmitterLocation>");
                this._ApertureEmitterLocation.Reflection(sb);
                sb.AppendLine("</ApertureEmitterLocation>");
                sb.AppendLine("<apertureDiameter type=\"float\">" + this._apertureDiameter.ToString(CultureInfo.InvariantCulture) + "</apertureDiameter>");
                sb.AppendLine("<wavelength type=\"float\">" + this._wavelength.ToString(CultureInfo.InvariantCulture) + "</wavelength>");
                sb.AppendLine("<peakIrradiance type=\"float\">" + this._peakIrradiance.ToString(CultureInfo.InvariantCulture) + "</peakIrradiance>");
                sb.AppendLine("<pulseRepetitionFrequency type=\"float\">" + this._pulseRepetitionFrequency.ToString(CultureInfo.InvariantCulture) + "</pulseRepetitionFrequency>");
                sb.AppendLine("<pulseWidth type=\"int\">" + this._pulseWidth.ToString(CultureInfo.InvariantCulture) + "</pulseWidth>");
                sb.AppendLine("<flags type=\"int\">" + this._flags.ToString(CultureInfo.InvariantCulture) + "</flags>");
                sb.AppendLine("<pulseShape type=\"byte\">" + this._pulseShape.ToString(CultureInfo.InvariantCulture) + "</pulseShape>");
                sb.AppendLine("<padding1 type=\"byte\">" + this._padding1.ToString(CultureInfo.InvariantCulture) + "</padding1>");
                sb.AppendLine("<padding2 type=\"uint\">" + this._padding2.ToString(CultureInfo.InvariantCulture) + "</padding2>");
                sb.AppendLine("<padding3 type=\"ushort\">" + this._padding3.ToString(CultureInfo.InvariantCulture) + "</padding3>");
                sb.AppendLine("<dERecords type=\"ushort\">" + this._dERecords.Count.ToString(CultureInfo.InvariantCulture) + "</dERecords>");
                for (int idx = 0; idx < this._dERecords.Count; idx++)
                {
                    sb.AppendLine("<dERecords" + idx.ToString(CultureInfo.InvariantCulture) + " type=\"StandardVariableSpecification\">");
                    StandardVariableSpecification aStandardVariableSpecification = (StandardVariableSpecification)this._dERecords[idx];
                    aStandardVariableSpecification.Reflection(sb);
                    sb.AppendLine("</dERecords" + idx.ToString(CultureInfo.InvariantCulture) + ">");
                }

                sb.AppendLine("</DirectedEnergyFirePdu>");
            }
            catch (Exception e)
            {
#if DEBUG
                Trace.WriteLine(e);
                Trace.Flush();
#endif
                this.OnException(e);
            }
        }