History { public void doWithoutListeners(Setting setting, Runnable action) { LOGGER.trace(String.format("doWithoutListeners: setting: %s", setting)); setListenerActive(false); LOGGER.trace("removed listener"); action.run(); LOGGER.trace("performed action"); setListenerActive(true); LOGGER.trace("add listener back"); } History(); void attachChangeListener(Setting setting); void doWithoutListeners(Setting setting, Runnable action); boolean undo(); void undoAll(); boolean redo(); void redoAll(); void clear(boolean undoAll); boolean isUndoAvailable(); BooleanProperty undoAvailableProperty(); boolean isRedoAvailable(); BooleanProperty redoAvailableProperty(); ObservableList<Change> getChanges(); ReadOnlyObjectProperty<Change> currentChangeProperty(); boolean isListenerActive(); ReadOnlyBooleanProperty listenerActiveProperty(); void setListenerActive(boolean listenerActive);  }
@Test public void doWithoutListeners() throws Exception { }