void signalHasChanges() {
          if (!hasWorkToDo.getAndSet(true)) {
            // this will serve as a marker that compiler has work to do
            myMessageDispatcher.processMessage(DoneSomethingNotification.INSTANCE);
          }
        }
void signalHasChanges()