Class dclass = Class.forName(dcname);
Class dclass = Class.forName(dcname, true, Thread.currentThread().getContextClassLoader());
  public static synchronized Object getInstance(String type)    throws GetDelegateInstanceException  {    Object r = cache.get(type);    if (r != null)      return r;    String dcname = System.getProperty("javax.rmi.CORBA." + type + "Class");    if (dcname == null)      {	//throw new DelegateException	//  ("no javax.rmi.CORBA.XXXClass property sepcified.");	dcname = "gnu.javax.rmi.CORBA." + type + "DelegateImpl";      }    try      {	Class dclass = Class.forName(dcname);	r = dclass.newInstance();	cache.put(type, r);	return r;      }    catch(Exception e)      {	throw new GetDelegateInstanceException	  ("Exception when trying to get delegate instance:" + dcname, e);      }  }