public void externalUpdate(ChangeLog external,
List<EventState> events,
long timestamp,
String userData) throws RepositoryException {
try {
EventStateCollection esc = new EventStateCollection(
getObservationDispatcher(), null, null);
esc.setUserData(userData);
esc.addAll(events);
esc.setTimestamp(timestamp);
getItemStateProvider().externalUpdate(external, esc);
} catch (IllegalStateException e) {
String msg = "Unable to deliver events: " + e.getMessage();
throw new RepositoryException(msg, e);