code: public static ResourceBundle getBundle(String name, Locale locale,
                                             ClassLoader cl)
                                             throws NullPointerException,
                                                 MissingResourceException {
  
          if (cl == null) {
              return ResourceBundle.getBundle(name, locale);
          } else if (newGetBundleMethod == null) {
              return ResourceBundle.getBundle(name, locale);
          } else {
              try {
                  return (ResourceBundle) newGetBundleMethod.invoke(null,
                          new Object[] {
                      name, locale, cl
                  });
              } catch (Exception e) {
                  return ResourceBundle.getBundle(name, locale);
              }
          }
      }
docs: Retrieves a resource bundle using the specified base name, locale, and
  class loader. This is a JDK 1.1 compliant substitution for the
  ResourceBundle method with the same name and signature. If there
  is a problem using the JDK 1.2 functionality (the class loader is
  specified non-null and the underlying method is not available or there
  is a security exception, etc.), then the behaviour reverts to that
  of JDK 1.1.
  
  @param name the base name of the resource bundle, a fully
  qualified class name
  @param locale the locale for which a resource bundle is desired
  @param cl the class loader from which to load the resource bundle