docs: def get_asset_contents_by_genus_type(self, asset_content_genus_type):
          """Gets an ``AssetContentList`` corresponding to the given asset content genus ``Type`` which does not include asset contents of types derived from the specified ``Type``.
  
          In plenary mode, the returned list contains all known asset contents or
          an error results. Otherwise, the returned list may contain only
          those asset contents that are accessible through this session.
  
          :param asset_content_genus_type: an asset content genus type
          :type asset_content_genus_type: ``osid.type.Type``
          :return: the returned ``AssetContent list``
          :rtype: ``osid.repository.AssetContentList``
          :raise: ``NullArgument`` -- ``asset_content_genus_type`` is ``null``
          :raise: ``OperationFailed`` -- unable to complete request
          :raise: ``PermissionDenied`` -- authorization failure
  
          *compliance: mandatory -- This method must be implemented.*
  
          """
          collection = JSONClientValidated('repository',
                                           collection='Asset',
                                           runtime=self._runtime)
          results = collection.find(
              dict({'assetContents.genusTypeId': {'$in': [str(asset_content_genus_type)]}},
                   **self._view_filter()))
          # if a match is not found, NotFound exception will be thrown by find_one, so
          # the below should always work
          asset_content_maps = [ac
                                for asset in results
                                for ac in asset['assetContents']
                                if ac['genusTypeId'] == str(asset_content_genus_type)]
          return objects.AssetContentList(asset_content_maps, runtime=self._runtime, proxy=self._proxy)