@abc.abstractmethod<EOL><INDENT>def get_endpoints_by_genus_type(self, endpoint_genus_type):<DEDENT>
return<EOL>
Gets an ``EndpointList`` corresponding to the given endpoint genus ``Type`` which does not include endpoints
        of genus types derived from the specified ``Type``.

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

        :param endpoint_genus_type: an endpoint genus type
        :type endpoint_genus_type: ``osid.type.Type``
        :return: the returned ``Endpoint`` list
        :rtype: ``osid.transport.EndpointList``
        :raise: ``NullArgument`` -- ``endpoint_genus_type`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

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