/**
  * @param Budget          $budget
  * @param LimitRepetition $repetition
  * @param Collection      $accounts
  *
  * @return BalanceLine
  */
 private function createBalanceLine(Budget $budget, LimitRepetition $repetition, Collection $accounts) : BalanceLine
 {
     $line = new BalanceLine();
     $budget->amount = $repetition->amount;
     $line->setBudget($budget);
     $line->setStartDate($repetition->startdate);
     $line->setEndDate($repetition->enddate);
     // loop accounts:
     foreach ($accounts as $account) {
         $balanceEntry = new BalanceEntry();
         $balanceEntry->setAccount($account);
         $spent = $this->budgetRepository->spentInPeriod(new Collection([$budget]), new Collection([$account]), $repetition->startdate, $repetition->enddate);
         $balanceEntry->setSpent($spent);
         $line->addBalanceEntry($balanceEntry);
     }
     return $line;
 }