@Override
public Notification handleNotification(final String endpointToken, final String body) throws ChannelNotFoundException {
final Long version = Long.valueOf(VersionExtractor.extractVersion(body));
final String channelId = store.updateVersion(endpointToken, version);
if (channelId == null) {
throw new ChannelNotFoundException("Could not find channel for endpoint [" + endpointToken + "]", null);
}
final Ack ack = new AckImpl(channelId, version);
final String uaid = store.saveUnacknowledged(channelId, ack.getVersion());
return new Notification(uaid, ack);
}