public function getSlots($first, $last) { if (!static::isValidRange($first, $last)) { throw new \OutOfBoundsException("Invalid slot range {$first}-{$last}"); } return array_intersect_key($this->slots, array_fill($first, $last - $first + 1, null)); }