@Override
 public GetDataAvailabilityResponse getDataAvailability(GetDataAvailabilityRequest req)
     throws OwsExceptionReport {
   Session session = sessionHolder.getSession();
   try {
     List<?> dataAvailabilityValues = queryDataAvailabilityValues(req, session);
     GetDataAvailabilityResponse response = new GetDataAvailabilityResponse();
     response.setService(req.getService());
     response.setVersion(req.getVersion());
     response.setNamespace(req.getNamespace());
     for (Object o : dataAvailabilityValues) {
       if (o != null) {
         response.addDataAvailability((DataAvailability) o);
       }
     }
     return response;
   } catch (HibernateException he) {
     throw new NoApplicableCodeException()
         .causedBy(he)
         .withMessage("Error while querying data for GetDataAvailability!");
   } finally {
     sessionHolder.returnSession(session);
   }
 }