public function intersect(Period $period)
{
if (!$this->overlaps($period)) {
throw new LogicException('Both object should at least overlaps');
}
return new static($period->getStartDate() > $this->startDate ? $period->getStartDate() : $this->startDate, $period->getEndDate() < $this->endDate ? $period->getEndDate() : $this->endDate);
}