@Override
  protected void onPostExecute(String result) {

    super.onPostExecute(result);

    ShowLoadingMessage.dismissDialog();
    if (listener != null) {
      if (result != null) {
        if (result.contentEquals(C.Tagz.SUCCESS)) {
          try {
            new EmailSender(
                    userWithForgottenPasswordsEmailAddress,
                    C.Emailz.FORGOTTEN_PASSWORD_RESET_ADDRESS,
                    C.Emailz.FORGOTTEN_PASSWORD_RESET_SUBJECT,
                    C.Emailz.FORGOTTEN_PASSWORD_RESET_BODY(userWithSuchForgottenPasswordUserName),
                    null)
                .execute();
            listener.onForgottenPasswordEmailSentSuccess();
          } catch (Exception e) {
            e.printStackTrace();
            listener.onForgottenPasswordEmailSentFailure(C.Tagz.MAILER_PROBLEM);
          }
        } else if (reason != null) {
          listener.onForgottenPasswordEmailSentFailure(reason);
        }
      } else {
        listener.onForgottenPasswordEmailSentFailure(reason);
      }
    }
  } // End of onPostExecute
  @Override
  protected void onPreExecute() {

    super.onPreExecute();

    if (context != null) {
      ShowLoadingMessage.loading(context, C.LoadingMessages.LOADING_ITEM_DATA);
      loadingMessageShown = true;
    }
  }
  @Override
  protected void onPostExecute(ItemExtended itemExtended) {

    super.onPostExecute(itemExtended);

    if ((context != null) && (loadingMessageShown)) {
      ShowLoadingMessage.dismissDialog();
      loadingMessageShown = false;
    }

    if (listener != null) {
      if (itemExtended != null) {
        listener.onGetItemDataSuccess(itemExtended);
      } else if (reason != null) {
        listener.onGetItemDataFailure();
      }
    }
  } // End of onPostExecute
 @Override
 protected void onPreExecute() {
   super.onPreExecute();
   ShowLoadingMessage.loading(context);
 }