static void decode_workplan(AptStepMaker a, Finder f, long wp_id, bool enFlags)
 {
     long size = f.GetNestedExecutableCount(wp_id);
     Console.Write("Number of nested executables: ");
     Console.WriteLine(size);
     for (int i = 0; i < size; ++i)
     {
         long exe_id = f.GetNestedExecutableNext(wp_id, i);
         Console.WriteLine("Executable Type: {0}", f.GetExecutableType(exe_id));
         //if we care about whether or not executables are enabled
         //and if the executable has been disabled
         //then skip this executable
         if (enFlags && !a.GetExecutableIsEnabled(exe_id))
         {
             Console.WriteLine("Disabled!!");
             //Console.ReadLine();
             continue;
         }
         if (f.IsWorkingstep(exe_id) && f.GetProcessSpeed(exe_id) != 0)
         {
             //double speed = f.GetProcessSpeed(exe_id);
             //Console.WriteLine("Process Speed: {0}", f.GetProcessSpeed(path_id));
             //Console.WriteLine(speed);
             //Console.ReadLine();
             decode_workingstep(f, exe_id);
         }
         else if (f.IsWorkplan(exe_id))
         {
             decode_workplan(a, f, exe_id, enFlags);
         }
         else if (f.IsSelective(exe_id))
         {
             decode_selective(a, f, exe_id, enFlags);
         }
         //else its an NC Function (unimportant right?)
     }
 }