/** INTERNAL: */
 public Class getImplClass() {
   if ((javaImplClass == null) && (getImplClassName() != null)) {
     try {
       SDOClassLoader loader = ((SDOXMLHelper) aHelperContext.getXMLHelper()).getLoader();
       javaImplClass = loader.loadClass(getImplClassName(), this);
       xmlDescriptor.setJavaClass(javaImplClass);
     } catch (ClassNotFoundException e) {
       throw SDOException.classNotFound(e, getURI(), getName());
     } catch (SecurityException e) {
       throw SDOException.classNotFound(e, getURI(), getName());
     }
   }
   return javaImplClass;
 }
 public Class getInstanceClass() {
   if ((javaClass == null) && (javaClassName != null)) {
     try {
       SDOClassLoader loader = ((SDOXMLHelper) aHelperContext.getXMLHelper()).getLoader();
       Class clazz = loader.getParent().loadClass(javaClassName);
       if (isValidInstanceClass(clazz)) {
         javaClass = clazz;
       } else {
         javaClass = getClass();
       }
     } catch (ClassNotFoundException e) {
       javaClass = getClass();
     } catch (SecurityException e) {
       throw SDOException.classNotFound(e, getURI(), getName());
     }
   }
   if (javaClass == getClass()) {
     return null;
   }
   return javaClass;
 }