@Override
 public void processMessage(BuildMessage msg) {
   if (msg.getKind() == BuildMessage.Kind.ERROR) {
     myErrorMessages.add(msg);
     myUpToDate = false;
   } else if (msg.getKind() == BuildMessage.Kind.WARNING) {
     myWarnMessages.add(msg);
   } else {
     myInfoMessages.add(msg);
   }
   if (msg instanceof DoneSomethingNotification) {
     myUpToDate = false;
   }
 }
 @Override
 public void processMessage(BuildMessage msg) {
   BuildMessage.Kind kind = msg.getKind();
   String text = msg.getMessageText();
   switch (kind) {
     case ERROR:
       String compilerName =
           msg instanceof CompilerMessage ? ((CompilerMessage) msg).getCompilerName() : "";
       myBuildInfoPrinter.printCompilationErrors(JpsGantProjectBuilder.this, compilerName, text);
       break;
     case WARNING:
       warning(text);
       break;
     case INFO:
       if (!text.isEmpty()) {
         info(text);
       }
       break;
     case PROGRESS:
       myBuildInfoPrinter.printProgressMessage(JpsGantProjectBuilder.this, text);
       break;
   }
 }