/**
  * Create a new Day.
  *
  * @param integer $dayOfWeek The day of week.
  * @param array $openingIntervals The opening intervals.
  * @return Day
  */
 public static function fromArray($dayOfWeek, array $openingIntervals)
 {
     $intervals = array();
     foreach ($openingIntervals as $interval) {
         if ($interval instanceof TimeIntervalInterface) {
             $intervals[] = $interval;
         } elseif (is_array($intervals)) {
             $intervals[] = new TimeInterval(TimeBuilder::fromString($interval[0]), TimeBuilder::fromString($interval[1]));
         }
     }
     $day = new Day($dayOfWeek, $intervals);
     $dayIntervals = $day->getOpeningHoursIntervals();
     /** @var TimeIntervalInterface $dayInterval */
     $dayInterval = reset($dayIntervals);
     if (self::isIntervalAllDay($dayInterval->getStart(), $dayInterval->getEnd())) {
         return new AllDay($dayOfWeek);
     }
     return $day;
 }