// VerboseLevel is filtered by the config-file value, as an int rather than Error, Warning, etc.
 // which would be confusing with TraceLevel.  Higher numbers mean more output or verification.
 // MessageLevel is *not* related to the switch value from the config file, it just identifies
 // a consistent prefix.
 internal void WriteLineIf(DevTrace.Level messageLevel, int verboseLevel, string format, params object[] args) {
     if (IsLevel(verboseLevel)) {
         Trace.IndentLevel = verboseLevel;
         string message = Switch.Description;
         if (!string.IsNullOrEmpty(message)) {
             message += ": ";
         } 
         message += string.Format(format, args);
         if (DevTrace.Level.Warning == messageLevel) {
             message = "*** Trace Warning *** " + message;
         }
         if (DevTrace.Level.Error == messageLevel) {
             message = "*** Trace Error *** " + message;
         }
         Trace.WriteLine(message);
     }
 }