In my external system plugin, I have some modules that depend on a module that itself depends on multiple prebuilt (jar) libraries.
Those libraries I import as LibraryData nodes and the LibraryDependencyData nodes are marked as exported+compile.
For example, say I have two modules, Foo, Bar, and a Library containing a prebuilt jar. Foo contains a class named a.b.FooPreference. Foo depends on Bar. Bar has some exported Library dependencies, one of which is the prebuilt (jar) Library that contains the class x.y.Preference. FooPreference extends Preference. Preference shows up unresolved in FooPreference, but the x.y package that Preference lives in is navigatable. Opening the Preference class and Ctrl+Click'ing the class name pops up a bunch of usages. Selecting one of those usages properly opens up the using java file but the Preference class also shows up unresolved in that file, and going back to Preference and activating the usages list again no longer displays that previous usage we navigated to.