public ColumnDescriptor getColumn(string col)
 {
     for (int i = 0; i < list.Count; ++i)
     {
         TmpWrap desc = list[i];
         if (desc.col.name == col)
         {
             if (!desc.corrected)
             {
                 desc.corrected = true;
                 list.RemoveAt(i);
                 list.Insert(0, desc);
             }
             return(desc.col);
         }
     }
     if (isColumnIndexed(col))
     {
         ColumnDescriptor dsc = getColumn(shrinkIndexed(col));
         if (dsc != null)
         {
             ColumnDescriptor dscNew = dsc.copy();
             dscNew.name = col;
             prependColumnDescriptor(dscNew);
             return(dscNew);
         }
     }
     return(null);
 }
        void appendColumnDescriptor(ColumnDescriptor pDesc)
        {
            TmpWrap t_ = new TmpWrap(pDesc);

            list.Add(t_);
            listNotSorted.Add(t_);
        }