code: protected T prepareErrorFragment(ThrowableFailureEvent event, boolean finishAfterDialog,
              Bundle argumentsForErrorDialog) {
          if (event.isSuppressErrorUi()) {
              // Show nothing by default
              return null;
          }
          Bundle bundle;
          if (argumentsForErrorDialog != null) {
              bundle = (Bundle) argumentsForErrorDialog.clone();
          } else {
              bundle = new Bundle();
          }
  
          if (!bundle.containsKey(ErrorDialogManager.KEY_TITLE)) {
              String title = getTitleFor(event, bundle);
              bundle.putString(ErrorDialogManager.KEY_TITLE, title);
          }
          if (!bundle.containsKey(ErrorDialogManager.KEY_MESSAGE)) {
              String message = getMessageFor(event, bundle);
              bundle.putString(ErrorDialogManager.KEY_MESSAGE, message);
          }
          if (!bundle.containsKey(ErrorDialogManager.KEY_FINISH_AFTER_DIALOG)) {
              bundle.putBoolean(ErrorDialogManager.KEY_FINISH_AFTER_DIALOG, finishAfterDialog);
          }
          if (!bundle.containsKey(ErrorDialogManager.KEY_EVENT_TYPE_ON_CLOSE)
                  && config.defaultEventTypeOnDialogClosed != null) {
              bundle.putSerializable(ErrorDialogManager.KEY_EVENT_TYPE_ON_CLOSE, config.defaultEventTypeOnDialogClosed);
          }
          if (!bundle.containsKey(ErrorDialogManager.KEY_ICON_ID) && config.defaultDialogIconId != 0) {
              bundle.putInt(ErrorDialogManager.KEY_ICON_ID, config.defaultDialogIconId);
          }
          return createErrorFragment(event, bundle);
      }
docs: Prepares the fragment's arguments and creates the fragment. May be overridden to provide custom error fragments.