Description
The finally block for the ElementCombinator parser calls parseEnd which does restriction validation. But if an exception was thrown then we do not have a value to validate, which creates an "Element does not have a value" exception and hides the underlying exception. We should only perform validation if the parser actually succeeds, so this logic needs to be moved out of the finally block.