List resources = d.searchCalendarResources(filter, null, null, true);
List resources = mProv.searchCalendarResources(d, filter, null, null, true);
    private void doSearchCalendarResources(String[] args) throws ServiceException {        boolean verbose = false;        int i = 1;        if (args.length < i + 1) { usage(); return; }        if (args[i].equals("-v")) { verbose = true; i++; }        if (args.length < i + 1) { usage(); return; }        Domain d = lookupDomain(args[i++]);        if ((args.length - i) % 3 != 0) { usage(); return; }        EntrySearchFilter.Multi multi =            new EntrySearchFilter.Multi(false, EntrySearchFilter.AndOr.and);        for (; i < args.length; ) {            String attr = args[i++];            String op = args[i++];            String value = args[i++];            try {                EntrySearchFilter.Single single =                    new EntrySearchFilter.Single(false, attr, op, value);                multi.add(single);            } catch (IllegalArgumentException e) {                System.err.println("Bad search op in: " + attr + " " + op + " '" + value + "'");                e.printStackTrace();                usage();                return;            }        }        EntrySearchFilter filter = new EntrySearchFilter(multi);        List resources = d.searchCalendarResources(filter, null, null, true);        for (Iterator iter = resources.iterator(); iter.hasNext(); ) {            CalendarResource resource = (CalendarResource) iter.next();            if (verbose)                dumpCalendarResource(resource);            else                System.out.println(resource.getName());        }    }