public Void call() throws CloudException, IOException {
log.debug("Updating domain: {}", zone.getName());
List<Recordset> requested = readFromDatabase(false);
HostedZone hostedZone = getHostedZone();
List<Recordset> aws = readFromAws(hostedZone);
Changes changes = computeChanges(aws, requested);
List<ResourceRecordSet> create = mapToAws(hostedZone.getName(), changes.create);
List<ResourceRecordSet> remove = mapToAws(hostedZone.getName(), changes.remove);
client.changeRecords(hostedZone.getId(), create, remove);
return null;
}