//
switch (mode) {
case CONSERVE:
if (dst == null) {
dst = new NavigationContext(key, new NavigationState(src.getPriority()));
service.saveNavigation(dst);
} else {
dst = null;
}
break;
case MERGE:
case INSERT:
if (dst == null) {
dst = new NavigationContext(key, new NavigationState(src.getPriority()));
service.saveNavigation(dst);
}
break;
case OVERWRITE:
if (dst == null) {
dst = new NavigationContext(key, new NavigationState(src.getPriority()));
service.saveNavigation(dst);
}
break;
default:
throw new AssertionError();