The <when> clause in the interceptors behave like filters. This is okay with intercept and interceptFrom, where the only possible route manipulation is <stop />, which is expressed inside the routing block.
However, with interceptSendToEndpoint there is one edge case that could cause ambiguity. When skipSendToEndpoint=true, along with a <when> clause, the user might expect that the skipping will only occur if the condition is met. However, it occurs always. The <when /> only determines whether the routing logic contained inside the body of the intercept block will occur or not.
I propose to add a new attribute onlySkipWhenConditionMet, so that when this is true, the <when> clause will be evaluated to determine if the originally intended endpoint is actually skipped or not.