Gets the list of ``Compositions`` corresponding to a list of ``Repository`` objects.

        arg:    repository_ids (osid.id.IdList): list of repository
                ``Ids``
        return: (osid.repository.CompositionList) - list of Compositions
        raise:  NullArgument - ``repository_ids`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*

def get_compositions_by_repositories(self, repository_ids):
        """Gets the list of ``Compositions`` corresponding to a list of ``Repository`` objects.

        arg:    repository_ids (osid.id.IdList): list of repository
                ``Ids``
        return: (osid.repository.CompositionList) - list of Compositions
        raise:  NullArgument - ``repository_ids`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*

        """
        # Implemented from template for
        # osid.resource.ResourceBinSession.get_resources_by_bins
        composition_list = []
        for repository_id in repository_ids:
            composition_list += list(
                self.get_compositions_by_repository(repository_id))
        return objects.CompositionList(composition_list)