private List<ScopedFilter> getScopedFilters(XOAIContext context, String metadataPrefix)
      throws CannotDisseminateFormatException {
    List<ScopedFilter> filters = new ArrayList<ScopedFilter>();
    if (context.hasCondition()) filters.add(new ScopedFilter(context.getCondition(), Context));

    MetadataFormat metadataFormat = context.getFormatByPrefix(metadataPrefix);
    if (metadataFormat.hasCondition())
      filters.add(new ScopedFilter(metadataFormat.getCondition(), MetadataFormat));
    return filters;
  }
 public ListItemsResults getItems(
     XOAIContext context, int offset, int length, String metadataPrefix, String setSpec, Date from)
     throws CannotDisseminateFormatException, OAIException {
   List<ScopedFilter> filters = getScopedFilters(context, metadataPrefix);
   if (context.isStaticSet(setSpec)) {
     if (context.getSetFilter(setSpec) != null)
       filters.add(new ScopedFilter(context.getSetFilter(setSpec), Scope.Set));
     return itemRepository.getItems(filters, offset, length, from);
   } else return itemRepository.getItems(filters, offset, length, setSpec, from);
 }