private void RecurseMiningStructureColumnsAndProcessDataItemInLists(MiningStructureColumnCollection cols)
 {
     foreach (MiningStructureColumn col in cols)
     {
         if (col is ScalarMiningStructureColumn)
         {
             ScalarMiningStructureColumn scalar = (ScalarMiningStructureColumn)col;
             foreach (DataItem di in scalar.KeyColumns)
             {
                 ProcessDataItemInLists(di, "Mining Structure Column Key");
             }
             ProcessDataItemInLists(scalar.NameColumn, "Mining Structure Column Name");
         }
         else if (col is TableMiningStructureColumn)
         {
             TableMiningStructureColumn tblCol = (TableMiningStructureColumn)col;
             RecurseMiningStructureColumnsAndProcessDataItemInLists(tblCol.Columns);
         }
     }
 }
 private void RecurseMiningStructureColumnsAndProcessDataItemInLists(MiningStructureColumnCollection cols)
 {
     foreach (MiningStructureColumn col in cols)
     {
         if (col is ScalarMiningStructureColumn)
         {
             ScalarMiningStructureColumn scalar = (ScalarMiningStructureColumn)col;
             foreach (DataItem di in scalar.KeyColumns)
             {
                 ProcessDataItemInLists(di, "Mining Structure Column Key");
             }
             ProcessDataItemInLists(scalar.NameColumn, "Mining Structure Column Name");
         }
         else if (col is TableMiningStructureColumn)
         {
             TableMiningStructureColumn tblCol = (TableMiningStructureColumn)col;
             RecurseMiningStructureColumnsAndProcessDataItemInLists(tblCol.Columns);
         }
     }
 }