@Override
  public void onTransUnitSave(TransUnitSaveEvent event) {
    TransUnitId idToSave = event.getTransUnitId();
    Log.info("TU save event: new[" + event.getTargets() + "] + old: [" + event.getOldContents());
    if (stateHasNotChanged(event)) {
      Log.info("NO OP! state has not changed for " + idToSave);
      return;
    }

    queue.push(event);
    if (queue.isSaving(idToSave)) {
      Log.info(idToSave + " has saving event. Put in queue and return.");
      return;
    }

    performSave(idToSave);
  }