Skip the test if null is passed.
Recognise currency targets.
When used as an aliasing function, don't ignore missing requirement.
Don't clear "change" state messages if a secondary worker is already running.

Not doing so may mean the event gets lost and the necessary recompilation never happens.
Create sub-map by terminal outputs. Only print each node once for debug.
[PLAT-3574] Don't remove terminal outputs for positions or trades that are still referenced elsewhere in the portfolio.
[PLAT-3578] Gather position level requirements if at least one parent node is not excluded.