#1: only use packages we cannot find in the current bundle or in any of its dependencies to determine required execution environment
#8: Ability to set execution environment per bundle (in addition to determine it automatically)
#9: Always export all (!) packages witn version, even if the package is contained in bundles or any execution environment. Todo: Conversly, we must ensure that execution environment (and vendor packages) will always be self-imported without version to ensure highest compatibility with all Java platforms.
#1: Only consider exported packages of dependencies
#10: Include types in signatures of invoked methods, when determining references types
#6: Changed priority of exporters: self -> ee -> dependencies
#6: Introduced BundlePackages and PackageReferences
#6: ExecutionEnvironmentService.getIntersectingPackages(...)
#6: Untested impl of new pckage import determination and version range policies strategy
#6: Made osgifier.treatInheritedPackagesAsInternal configurable, defaults to false
#6: Extracted enum VersionRangePolicy + Tests
#6: Introduced PackageResolver
#6: Renamed AccessModifier to AccessRestriction
#6: Renamed PackageOffer to PackageExportDescription
#6: Use List on PackageResolutionResult
#6: PackageResolver doesn't erase requirements to platform packages
#6: Test options publicImportPolicy, internalImportPolicy, selfImportPolicy and eraseMicro
#6: Moved BundlePackages from bundle to java package
#6: Renamed BundlePackages to PackagesInfo and introduced "classpath" in
PackagesInfoCollector
#6: Introduced BundlePackagesService