Parser should get a foreign repo name and add it the entity id serialization if needed (ie. not prefix foo:Q6 with foo).
Based on the prefix mapping (see example below), parser should resolve known foreign prefixes and prefix chains to local prefixes.
Result entity id serialization should then be passed to local EntityIdParser which would in turn return
the right EntityId instance.
Prefix mapping is a two-dimensional array (could be stored as a JSON representation for example). First-level keys are foreign repo names known to the local repo.
Second-order keys are repo names known to a particular foreign repos, and their values are local repo's prefixes that they map to.
For example, given the prefix mapping , foreign repo prefix foo and the input serialization bar:Q77, the new parser would consier the concatenated id serialization foo:bar:Q77. Based on the prefix mapping, the final id serialization would be wd:Q77. It will be passed to a local EntityIdParser to get the actual EntityId object
'foo' => [ 'bar' => 'wd' ]