public function getRangeType(RangeInterface $range)
    {
        $myStart = $this->range->getComparableStartString();
        $rangeEnd = $range->getComparableEndString();
        if ($myStart > $rangeEnd) {
            $result = null;
        } else {
            $myEnd = $this->range->getComparableEndString();
            $rangeStart = $range->getComparableStartString();
            if ($myEnd < $rangeStart) {
                $result = null;
            } elseif ($rangeStart < $myStart || $rangeEnd > $myEnd) {
                $result = false;
            } else {
                $result = null;
                foreach ($this->exceptions as $exception) {
                    $result = $exception->getRangeType($range);
                    if ($result !== null) {
                        break;
                    }
                }
                if ($result === null) {
                    $result = $this->getType();
                }
            }
        }

        return $result;
    }