@Transactional
 @Override
 public Receipt save(Receipt receipt) throws ServerException {
   // TODO replace this by ArgumentUtility
   if (receipt == null) throw new IllegalArgumentException("receipt is null");
   return _receiptDao.save(receipt);
 }
 @Transactional(readOnly = true)
 @Override
 public List<ReceiptEntry> getReceiptEntriesByProductIdAndRev(
     Long productId, Integer productRevision) throws ServerException {
   List<ReceiptEntry> entries =
       _receiptDao.getReceiptEntriesByProductIdAndRev(productId, productRevision);
   return entries;
 }