@Override
  public void updateMessage() {
    String message = null;
    String errorMessage = null;
    if (currentPage != null) {
      message = currentPage.getMessage();
      errorMessage = currentPage.getErrorMessage();
    }
    int messageType = IMessageProvider.NONE;
    if (message != null && currentPage instanceof IMessageProvider) {
      messageType = ((IMessageProvider) currentPage).getMessageType();
    }

    if (errorMessage == null) {
      if (showingError) {
        // we were previously showing an error
        showingError = false;
      }
    } else {
      message = errorMessage;
      messageType = IMessageProvider.ERROR;
      if (!showingError) {
        // we were not previously showing an error
        showingError = true;
      }
    }
    messageArea.updateText(message, messageType);
  }