public function importJournalSections($oldJournalId, $newJournalId)
    {
        $this->consoleOutput->writeln("Importing journal's sections...");

        $sectionsSql = "SELECT * FROM sections WHERE journal_id = :id";
        $sectionsStatement = $this->dbalConnection->prepare($sectionsSql);
        $sectionsStatement->bindValue('id', $oldJournalId);
        $sectionsStatement->execute();
        $sections = $sectionsStatement->fetchAll();

        try {
            $this->em->beginTransaction();
            $createdSections = array();
            $createdSectionIds = array();
            $persistCounter = 0;

            foreach ($sections as $section) {
                $createdSection = $this->importSection($section['section_id'], $newJournalId);
                $createdSections[$section['section_id']] = $createdSection;
                $persistCounter++;

                if ($persistCounter % 10 == 0 || $persistCounter == count($sections)) {
                    $this->consoleOutput->writeln("Writing sections...", true);
                    $this->em->flush();
                    $this->em->commit();
                    $this->em->clear();
                    $this->em->beginTransaction();

                    /** @var Section $entity */
                    foreach ($createdSections as $oldSectionId => $entity) {
                        $createdSectionIds[$oldSectionId] = $entity->getId();
                        $map = new ImportMap($oldSectionId, $entity->getId(), Section::class);
                        $this->em->persist($map);
                    }

                    $this->em->flush();
                    $createdSections = [];
                }
            }

            $this->em->commit();
        }  catch (Exception $exception) {
            $this->em->rollback();
            throw $exception;
        }

        return $createdSectionIds;
    }