private static Bundle getBundleForPackage(final String packageStr) { ExportedPackage pkg = null; final String pkgString; String versionString = null; final String[] tokens = StringUtils.splitString(packageStr, ";"); pkgString = tokens[0]; for (int j = 0; j < tokens.length; j++) { if (tokens[j].startsWith("version")) { versionString = tokens[j].substring("version=".length()); break; } } if (RemoteOSGiServiceImpl.IS_R4 && versionString != null) { final ExportedPackage[] pkgs = pkgAdmin.getExportedPackages(pkgString); if (pkgs == null) { return null; } for (int j = 0; j < pkgs.length; j++) { final boolean matches = StringUtils.isVersionInRange(pkgs[j].getVersion(), versionString); if (matches && (pkg == null || pkgs[j].getVersion().compareTo(pkg.getVersion()) > 0)) { pkg = pkgs[j]; } } } else { pkg = pkgAdmin.getExportedPackage(pkgString); } return pkg == null ? null : pkg.getExportingBundle(); }