I think you always need a remap the ids, since the ids you put in the extensions will never be obtain without modifying them at this level. 

But surely this can be simplified. If just concatenating the ids and relying on the fact that if a rule is not available a warning will always thrown at base class