Thanks for your patience: at last I understand! We need to shoot the chicken or break the egg. :-)
What I mean is that property resolution should not be happening under the PlanBridge, which only needs to extract the name and version from a plan file. Therefore, in retrospect (since properties were, I think, added relatively late in the day), reusing PlanReader was a mistake.
A common helper class, called something like PlanIdentityParser, should be factored out of PlanReader. PlanIdentityParser should be responsible for extracting the name and version from a plan file. PlanReader and PlanBridge can use PlanIdentityParser. Then PlanBridge won't try to resolve property placeholders.
That would do the trick. Should I create an issue for this?
If you like, but we are planning on doing a big cull of the issues in order to clear the air ready for Virgo, so why not add this to a list of proposed improvements and float it on the Virgo forum until such time as we have a bug tracker for Virgo?
Thanks for your help.