Проблемы с отображением сущности в таблице после её создания

Здравствуйте. Скажите, пожалуйста, как сделать поведение таблицы с данными адекватным после добавления новой записи?
Что именно смущает:

  1. Запись должна появиться не вверху таблицы, а там где ей “положено” в соответствии с сортировкой(вызов метода dataLoader.load() после показа окна Edit диалога не помогает, видимо из-за асинхронности. Возможно можно переопределить какие-то методы Edit диалога, чтобы своего рода CallBack использовать.
  2. Фокус должен быть переведён на добавленную запись(опять же получение dialog.getEditedEntity() не помогает.

При этом диалог(в силу необходимости передавать в него некоторые данные) вызывается не стандартным Action-ом, а программно. Тем не менее, пока победить эти проблемы не вышло.

Ниже код обработчика события создающего окно редактирования сущности.

Заранее спасибо.

@Subscribe("customNewBtn")
public void onCustomNewBtnClick(Button.ClickEvent event) {
    DocumentEdit editorScreen = (DocumentEdit) screenBuilders.editor(documentsTable).newEntity().build();
    editorScreen.setNewMode();
    editorScreen.setDocumentCategory(currentDocumentCategory);
    editorScreen.show();

   documentsDl.load()
   documentsTable.setSelected(editorScreen.getEditedEntity());
}

Действия перезагрузки списка и выделения записи необходимо выполнять в слушателе закрытия экрана, см. Выполнение кода после закрытия и возврат значений.

Ваш текущий код выполняется синхронно еще до открытия экрана.

Спасибо!