void (@Nullable DataContext context, @Nullable Object object, boolean requeue) { if (myModelUpdating.getAndSet(true) && !requeue) return; cancelAllUpdates(); queue(new AfterModelUpdate(ID.MODEL) { @Override public void run() { if (context != null || object != null) { requestModelUpdateFromContextOrObject(context, object); } else { DataManager.getInstance().getDataContextFromFocusAsync().onSuccess( dataContext -> requestModelUpdateFromContextOrObject(dataContext, null)); } } @Override public void setRejected() { super.setRejected(); myModelUpdating.set(false); } }); }