/**
   * @param title Title, message
   * @param correct_password Password to check
   */
  public PasswordDialog(final String title, final String correct_password) {
    this.correct_password = correct_password;
    final DialogPane pane = getDialogPane();

    pass_entry.setPromptText(Messages.Password_Prompt);
    pass_entry.setMaxWidth(Double.MAX_VALUE);

    getDialogPane().setContent(pass_entry);

    setTitle(Messages.Password);
    setHeaderText(title);
    pane.getStyleClass().add("text-input-dialog");
    pane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);

    // Check password in dialog?
    if (correct_password != null && correct_password.length() > 0) {
      final Button okButton = (Button) pane.lookupButton(ButtonType.OK);
      okButton.addEventFilter(
          ActionEvent.ACTION,
          event -> {
            if (!checkPassword()) event.consume();
          });
    }

    setResultConverter(
        (button) -> {
          return button.getButtonData() == ButtonData.OK_DONE ? pass_entry.getText() : null;
        });

    Platform.runLater(() -> pass_entry.requestFocus());
  }