code: public static List<Class<?>> loadClasses(BundleContext context, List<String> klassNames) throws ClassNotFoundException {
          ServiceReference sref = context.getServiceReference(PackageAdmin.class.getName());
          List<Class<?>> klass = new ArrayList<Class<?>>(klassNames.size());
  
          if (sref == null) {
              // no package admin !
              return klass;
          }
          try {
              PackageAdmin padmin = (PackageAdmin) context.getService(sref);
              for (String klassName : klassNames) {
                  // extract package name
                  String packageName = klassName.substring(0, klassName.lastIndexOf('.'));
  
                  ExportedPackage pkg = padmin.getExportedPackage(packageName);
                  if (pkg == null) {
                      throw new ClassNotFoundException("No package found with name " + packageName + " while trying to load the class "
                              + klassName + ".");
                  }
                  klass.add(pkg.getExportingBundle().loadClass(klassName));
              }
              return klass;
          } finally {
              context.ungetService(sref);
          }
      }
docs: Load the Classes of names <code>klassNames</code>.
  TODO : handle class version
  
  @param context    The BundleContext
  @param klassNames The Classes names
  @return The Classes of names <code>klassNames</code>
  @throws ClassNotFoundException if we can't load one Class name of the list <code>klassNames</code>