I have this situation:
bundle_a
fragement_1: has classes in package foo.bar and attaches to bundle_a
(using 'Fragment-Host' in the manifest).
bundle_b: also has classes in package foo.bar
bundle_c: lists bundle_b as a required bundle, imports packages in
bundle_a (not foo.bar).
A class in bundle_c tries to create a class foo.bar.Car that is in
bundle_b and can't find it.
Debugging this, I can see that
org.eclipse.osgi.framework.internal.core.BundleLoader#findClassInternal
calls findRequiredSource with pkgName "foo.bar" and that the
requiredSources cache contains "foo.bar" mapped to bundle_a. so a source
for bundle_a is returned, and it doesn't contain the class.