def parent(self) -> Optional['CtsReference']:
        """ Parent of the actual URN, for example, 1.1 for 1.1.1

        :rtype: CtsReference
        """
        if self.start.depth == 1 and (self.end is None or self.end.depth <= 1):
            return None
        else:
            if self.start.depth > 1 and (self.end is None or self.end.depth == 0):
                return CtsReference("{0}{1}".format(
                    ".".join(self.start.list[:-1]),
                    self.start.subreference or ""
                ))
            elif self.start.depth > 1 and self.end is not None and self.end.depth > 1:
                _start = self.start.list[0:-1]
                _end = self.end.list[0:-1]
                if _start == _end and \
                        self.start.subreference is None and \
                        self.end.subreference is None:
                    return CtsReference(
                        ".".join(_start)
                    )
                else:
                    return CtsReference("{0}{1}-{2}{3}".format(
                        ".".join(_start),
                        self.start.subreference or "",
                        ".".join(_end),
                        self.end.subreference or ""
                    ))
Parent of the actual URN, for example, 1.1 for 1.1.1

        :rtype: CtsReference