/**
  * @param Collection $accounts
  * @param Carbon     $start
  * @param Carbon     $end
  *
  * @return BalanceLine
  */
 private function createTagsBalanceLine(Collection $accounts, Carbon $start, Carbon $end)
 {
     $tags = new BalanceLine();
     $tagsLeft = $this->tagRepository->allCoveredByBalancingActs($accounts, $start, $end);
     $tags->setRole(BalanceLine::ROLE_TAGROLE);
     foreach ($accounts as $account) {
         $leftEntry = $tagsLeft->filter(function (Tag $tag) use($account) {
             return $tag->account_id == $account->id;
         });
         $left = 0;
         if (!is_null($leftEntry->first())) {
             $left = $leftEntry->first()->sum;
         }
         bcscale(2);
         // balanced by tags
         $tagEntry = new BalanceEntry();
         $tagEntry->setAccount($account);
         $tagEntry->setLeft($left);
         $tags->addBalanceEntry($tagEntry);
     }
     return $tags;
 }