public Double getCreditCardFeeValue() {

    Double result = 0.0;

    if (isPMFundsHolder()) {

      Double newPublishedNightlyRate = calculateNewPublishedNetRate();
      if (this.pmInfo.getAdditionalCommission() != null
          && this.pmInfo.getAdditionalCommission() > 0) {

        result =
            CommissionCalculationUtil.getCommissionValue(
                newPublishedNightlyRate, getAdditionalCommission());

      } else {

        Double amountToBP = getTotalCommission() * newPublishedNightlyRate;
        result =
            CommissionCalculationUtil.getCommissionValue(
                amountToBP, CommissionCalculationUtil.CREDIT_CARD_FEE);
      }
    } else if (isBPFundsHolder()) {

      // Credit card fee was calculated as : totalAmount / (1 - CreditCardFee) - totalAmount
      result = getTotalAmount() * CommissionCalculationUtil.CREDIT_CARD_FEE;
    }

    return result;
  }
  public Double getTotalCommissionValue() {

    Double totalCommissionValue =
        CommissionCalculationUtil.getCommissionValue(calculateNetRate(), getTotalCommission());
    return totalCommissionValue;
  }