/**
   * Stores travel cost (total time * income) in files.
   *
   * @param income
   * @param timePlan
   * @param csvWriter
   */
  public void storeTravelCost(BigDecimal income, TimePlan timePlan, CSVWriter csvWriter) {

    final int workHoursPerWeek = 35;
    final int minutesPerHour = 60;
    final int totalMinutes = workHoursPerWeek * minutesPerHour;

    double totalTime =
        timePlan.getDriveTime()
            + timePlan.getWaitTime()
            + timePlan.getWalkTime()
            + timePlan.getTransitTime()
            + timePlan.getOtherTime();
    BigDecimal travelCost =
        income
            .multiply(new BigDecimal(totalTime))
            .divide(new BigDecimal(totalMinutes), 3, RoundingMode.HALF_UP);

    String[] entries = {
      String.valueOf(timePlan.getHhold()),
      String.valueOf(timePlan.getPerson()),
      String.valueOf(timePlan.getTrip()),
      String.valueOf(timePlan.getPurpose()),
      String.valueOf(timePlan.getMode()),
      String.valueOf(totalTime),
      String.valueOf(income),
      String.valueOf(travelCost)
    };
    csvWriter.writeNext(entries);
  }