private void navigate(final ComponentContainer layout, final BaseVaadinView view) {
if (layout instanceof TabSheet) {
navigate(view.getCaption(), (TabSheet) layout, view);
return;
}
BaseVaadinView actual = stack.isEmpty() ? null : stack.pop();
if (actual != null) {
stack.push(actual);
if (actual.getWarningMessage() != null) {
ConfirmDialog.show(actual.getWindow(), bundle.getString("navigator.title"), actual.getWarningMessage(),
bundle.getString("navigator.confirm.yes"), bundle.getString("navigator.confirm.no"),
new ConfirmDialog.Listener() {
public void onClose(ConfirmDialog dialog) {
if (dialog.isConfirmed()) {