/**
   * Sets an OnToastButtonClickListener to the button in a a BUTTON type SuperCardToast. <br>
   * IMPORTANT: On Devices > API 11 any listener passed will automaticly be saved to a retained
   * Fragment for preservation on orientation changes. <br>
   *
   * @param onToastButtonClickListener Use OnToastButtonClickListenerHolder for orientation change
   *     support
   */
  public void setOnToastButtonClickListener(
      OnToastButtonClickListenerHolder onToastButtonClickListener) {

    mToastButton.setOnClickListener(onToastButtonClickListener);

    this.mClickListenerTag = onToastButtonClickListener.getTag();

    /** On devices > API 11 save listener to retained Fragment */
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

      final Activity activity = (Activity) mContext;

      FragmentManager fragmentManager = activity.getFragmentManager();

      FragmentRetainer fragmentRetainer =
          (FragmentRetainer) fragmentManager.findFragmentByTag(FRAGMENTRETAINER_ID);

      if (fragmentRetainer == null) {

        fragmentRetainer = new FragmentRetainer();
        fragmentManager.beginTransaction().add(fragmentRetainer, FRAGMENTRETAINER_ID).commit();
      }

      fragmentRetainer.addClickListenerToList(onToastButtonClickListener);
    }
  }