WakeupManager.Ticket ticket;
ticket = (WakeupManager.Ticket) tickets.remove(resource);
if (ticket != null)
manager.cancel(ticket);
ExpirerTask task = new ExpirerTask(resource);
ticket = manager.schedule(resource.getExpiration(), task);
tickets.put(resource, ticket);