public List<CatalogReceipt> query(QueryExpression queryExpression, int startIndex, int endIndex) throws CatalogException {
try {
if (this.isQueriable()) {
QueryService queryService = (QueryService) this.index;
List<CatalogReceipt> catalogReceipts = new Vector<CatalogReceipt>();
for (IngestReceipt ingestReceipt : queryService.query(queryExpression, startIndex, endIndex))
catalogReceipts.add(new CatalogReceipt(ingestReceipt, this.getId()));
return Collections.unmodifiableList(catalogReceipts);
}else {
LOG.log(Level.WARNING, "Catalog '" + this + "' is not queriable");
return Collections.emptyList();