private void addMultiCallsOption(String options, Map<Date, Double> fees, boolean biz) {
		double optionalFee = 0;
		if (options == null || options.length() == 0) {
			return;
		}
		String[] optionArray = options.split(";");

		// multi-calls option
		final Properties prop = loadProperties();
		for (int i = 0; i < optionArray.length; i++) {
			if (MULTI_CALLS.equalsIgnoreCase(optionArray[i])) {
				optionalFee = Double.parseDouble(prop.getProperty("multicalls.fee"));
			}
		}
		// report option
		if (!biz) {
			for (int i = 0; i < optionArray.length; i++) {
				if (REPORT.equalsIgnoreCase(optionArray[i])) {
					optionalFee += Double.parseDouble(prop.getProperty("report.fee"));
				}
			}
		}

		// add the option fees to the regular fee payment
		Date date = null;
		if (fees.size() == 1) {
			date = fees.keySet().iterator().next();
			Double amount = fees.get(date);
			fees.put(date, amount + optionalFee);
		} else {
			// should never happen
			final Calendar cal = new GregorianCalendar();
			cal.set(Calendar.HOUR_OF_DAY, 0);
			cal.set(Calendar.MINUTE, 0);
			cal.set(Calendar.SECOND, 0);
			cal.set(Calendar.MILLISECOND, 0);
			cal.get(Calendar.MONTH);

			fees.put(date, optionalFee);
		}
	}