// Called once per sequence point to write Source lines.
            public void WriteSource()
            {
                string path = m_seqPaths[m_index];

                ;
                SourceViewerForm file = GetSourceFile(m_parent, path);

                // Now add text for this sequence point
                if (file != null)
                {
                    int lineStart = m_seqStartLines[m_index];
                    int lineEnd   = m_seqEndLines[m_index];

                    for (int j = lineStart; j <= lineEnd; j++)
                    {
                        // Need to count how many source lines we've injected so that we can adjust
                        // the il2row mapping accordingly.

                        if (j == 0xFeeFee)
                        {
                            m_writer.WriteLine("// !hidden!");
                            //m_writer.FormatLastRow(Color.DarkGreen);
                        }
                        else if (j > file.Count)
                        {
                            m_writer.WriteLine(String.Format(CultureInfo.InvariantCulture, m_lineFormatPrefix, j,
                                                             "<out of range>"));
                            //m_writer.FormatLastRow(Color.DarkGreen);
                        }
                        else
                        {
                            // Write out: // line# :  <contents>
                            string t = String.Format(CultureInfo.InvariantCulture, m_lineFormatPrefix, j,
                                                     file.GetLine(j));
                            m_writer.WriteLine(t);

                            // Handle format across multiple lines.
                            int columnStart = m_seqStartColumns[m_index] + m_PrefixLen;
                            int columnEnd   = m_seqEndColumns[m_index] + m_PrefixLen;

                            if (j > lineStart)
                            {
                                columnStart = m_PrefixLen + 1;
                            }
                            if (j < lineEnd)
                            {
                                columnEnd = t.Length + 1;
                            }


                            //m_writer.FormatLastRow(columnStart, columnEnd, Color.Green);
                            m_writer.FormatLastRow(columnStart, columnEnd, m_writer.Fonts.Emphasis, Color.Red);
                        }
                        //m_writer.FormatLastRow(Color.Green);
                    }
                }
                else
                {
                    // Source file not found.
                    m_writer.WriteLine("// File '" + path + "' missing. Line " + m_seqStartLines[m_index] + " to line " +
                                       m_seqEndLines[m_index]);
                    m_writer.FormatLastRow(Color.DarkGreen);
                }
            }