logger.debug("source:data does not exist, no-op");
result = Status.RemoveExpired;
} else if (matches(source, currSnapshot.getSource())) {
Map.Entry<Source, InstanceInfo> newHead = dataStore.nextEntry();
if (newHead == null) {
(snapshot.getSource().getOrigin() != Source.Origin.LOCAL)) {
ChangeNotification<InstanceInfo> deleteNotification
= new SourcedChangeNotification<>(ChangeNotification.Kind.Delete, removed, source);
= new SourcedChangeNotification<>(ChangeNotification.Kind.Add, snapshot.getData(), snapshot.getSource());
pauseableSubject.onNext(addNotification);
} else {
if (!delta.isEmpty()) {
ChangeNotification<InstanceInfo> modifyNotification
= new SourcedModifyNotification<>(newSnapshot.getData(), delta, newSnapshot.getSource());
pauseableSubject.onNext(modifyNotification);
} else {
logger.debug("No-change update for {}#{}", currSnapshot.getSource(), currSnapshot.getData().getId());
logger.debug("removed non-head (head={}, received={})", currSnapshot.getSource(), source);