try to not step out of this method ahead of time you might miss the call at the bottom `context.path().remove();`?
I think you should to `if (externalValue != null) {}` instead