Assume the situation there you have a plug-in Master which will use classes which can come from plug-in A or plug-in B then. At runtime you have either A or B but only both.
So in this case you cannot register A and B as dependent plug-ins in Master.
Eclipse has a solution for this. In the plug-in Master you can add the possibility that other plug-ins can register themself via the following in the Manifest.mf
This way Master can access the class of registered plug-ins.
In A and B add the following: Eclipse-RegisterBuddy:Master
This means: Master can access the classes of A (and B). A and B must also add Master to their dependency.