icegem-core/src/main/java/com/googlecode/icegem/query/bucketoriented/BucketOrientedQueryService.java
@SuppressWarnings({ "unchecked" })
    public static SelectResults<Object> executeOnBuckets(String queryString, Region region, Set<Object> keys)
	    throws QueryException {
	return executeOnBuckets(queryString, null, region, keys);
    }
@SuppressWarnings({ "unchecked" })
    public static SelectResults<Object> executeOnBuckets(String queryString, Region region, Set<Object> keys)
	    throws QueryException {
	return executeOnBuckets(queryString, null, region, keys);
    }
Executes a particular query on specified region using a set of keys that represents buckets. The set of buckets is
determined by keys of entries that are stored in such buckets: - real and fake keys can be used (such key should
have the same routing object as bucket's keys have); - it will be enough to specify one key for each bucket. Work
of this method is based on execution of function.

@see BucketOrientedQueryFunction
@param queryString OQL query string.
@param region Partitioned region on which query will be executed.
@param keys Set of keys that specify buckets.
@return Query results as instance of {@link SelectResults}.
@throws QueryException When in case of query execution failure.