/**
  * Returns the line at the given number with any tabs before any
  * non-space character converted to spaces.
  * @param enddoc is just used to get the line.
  * @ret null if the given line is outside the bounds of the document.
  */
 static private string GetUntabbedLine(EnvDTE.EditPoint enddoc, int lineNum)
 {
     if ((lineNum < 1) || (lineNum > enddoc.Line))
     {
         return(null);
     }
     else
     {
         string temp = enddoc.GetLines(lineNum, lineNum + 1);
         string ret  = "";
         for (int i = 0; i < temp.Length; i++)
         {
             if (temp[i] == '\t')
             {
                 int spaces = enddoc.Parent.TabSize - (ret.Length % enddoc.Parent.TabSize);
                 ret += new System.String(' ', spaces);
             }
             else if (temp[i] == ' ')
             {
                 ret += temp[i];
             }
             else
             {
                 return(ret + temp.Substring(i));
             }
         }
         return(ret);
     }
 }