@abc.abstractmethod<EOL><INDENT>def get_time_periods_by_parent_genus_type(self, time_period_genus_type):<DEDENT>
return<EOL>
Gets a ``TimePeriodList`` corresponding to the given time period genus ``Type`` and include any additional
        time periods with genus types derived from the specified ``Type``.

        In plenary mode, the returned list contains all known time
        periods or an error results. Otherwise, the returned list may
        contain only those time periods that are accessible through this
        session.

        :param time_period_genus_type: a time period genus type
        :type time_period_genus_type: ``osid.type.Type``
        :return: the returned ``TimePeriod`` list
        :rtype: ``osid.calendaring.TimePeriodList``
        :raise: ``NullArgument`` -- ``time_period_genus_type`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

        *compliance: mandatory -- This method must be implemented.*