@Override
public Response queryRecovery(TaskQuery query, SessionKey session) {
Response response = Util.emptyResponse();
try {
response.setResponseCode(OK)
.setResult(Result.queryRecoveryResult(new QueryRecoveryResult()
.setTasks(IScheduledTask.toBuildersSet(recovery.query(Query.arbitrary(query))))));
} catch (RecoveryException e) {
addMessage(response, ERROR, e);
LOG.log(Level.WARNING, "Failed to query recovery: " + e, e);
}