vaadin/src/main/java/net/typedrest/vaadin/views/AbstractElementView.java
public void save() {
        try {
            onSave();
            close();
        } catch (IOException | IllegalArgumentException | IllegalAccessException | Validator.InvalidValueException ex) {
            onError(ex);
        } catch (IllegalStateException ex) {
            // This usually inidicates a "lost update"
            ConfirmDialog.show(getUI(), ex.getLocalizedMessage() + "\nDo you want to refresh this page loosing any changes you have made?", (ConfirmDialog cd) -> {
                if (cd.isConfirmed()) {
                    refresh();
                }
            });
        }
    }
public void save() {
        try {
            onSave();
            close();
        } catch (IOException | IllegalArgumentException | IllegalAccessException | Validator.InvalidValueException ex) {
            onError(ex);
        } catch (IllegalStateException ex) {
            // This usually inidicates a "lost update"
            ConfirmDialog.show(getUI(), ex.getLocalizedMessage() + "\nDo you want to refresh this page loosing any changes you have made?", (ConfirmDialog cd) -> {
                if (cd.isConfirmed()) {
                    refresh();
                }
            });
        }
    }
Saves the input and closes the {@link Window} (if present).