diff --git a/superfields/src/main/java/org/vaadin/miki/superfields/unload/UnloadObserver.java b/superfields/src/main/java/org/vaadin/miki/superfields/unload/UnloadObserver.java index dde3148b..c3352241 100644 --- a/superfields/src/main/java/org/vaadin/miki/superfields/unload/UnloadObserver.java +++ b/superfields/src/main/java/org/vaadin/miki/superfields/unload/UnloadObserver.java @@ -46,6 +46,14 @@ public static UnloadObserver get(boolean queryingOnUnload) { return INSTANCES.get(); } + /** + * Cleans up the thread-local variable. This method should be called when the unload observer is no longer needed. + */ + public static void remove() { + if(INSTANCES.get() != null) + INSTANCES.remove(); + } + private boolean queryingOnUnload; private boolean clientInitialised; @@ -152,5 +160,4 @@ protected void fireUnloadEvent(UnloadEvent event) { public Registration addUnloadListener(UnloadListener listener) { return this.getEventBus().addListener(UnloadEvent.class, listener); } - }