If I recall correctly (have not explicitly done this) only one path of the steps under the branch will ever be executed – the first one that matches.
I would structure your steps differently.
BRANCH on '/billToContactPoint/id/schemeName'
..NIF: BRANCH on '/billToContactPoint/id/value'
..../\S/: SEQUENCE
......MAP
BRANCH on '/billToContactPoint/email/fullAddress'
../\S/: SEQUENCE
....MAP
The /\S/ regex is similar to /[^ ]/ but applies to any whitespace (tab, newline) not just spaces. It will be selected if the value is not null and not just whitespace.