InputStream is = null;
  public void loadPropertyFile(String file, Properties target)  {    InputStream is = null;    try    {      try {        java.lang.reflect.Method getCCL = Thread.class.getMethod("getContextClassLoader", NO_CLASSES);        if (getCCL != null) {          ClassLoader contextClassLoader = (ClassLoader) getCCL.invoke(Thread.currentThread(), NO_OBJS);          is = contextClassLoader.getResourceAsStream(file); // file should be already fully specified        }      }      catch (Exception e) {}      if (is == null) {        // NOTE! For the below getResourceAsStream in Sun JDK 1.1.8M        //  we apparently must add the leading slash character - I         //  don't know why, but if it's not there, we throw an NPE from the below loading        is = FuncSystemProperty.class.getResourceAsStream("/" + file); // file should be already fully specified      }      // get a buffered version      BufferedInputStream bis = new BufferedInputStream(is);      target.load(bis);  // and load up the property bag from this      bis.close();  // close out after reading    }    catch (Exception ex)    {      // ex.printStackTrace();      throw new org.apache.xml.utils.WrappedRuntimeException(ex);    }  }