public WDBObject getParentObject(String superClassName, ParserAdapter scda) throws Exception {
   ClassDef myClass = this.getClassDef(scda);
   // See if its parent of this class
   if (myClass.getClass() == SubclassDef.class) {
     // See if its one of my immediate superclasses.
     if (parents.containsKey(superClassName)) {
       return scda.getObject(superClassName, ((Integer) parents.get(superClassName)));
     }
     // Not immediate superclass of me. Check my parents.
     Enumeration e = parents.keys();
     while (e.hasMoreElements()) {
       String parentClass = (String) e.nextElement();
       Integer parentUid = (Integer) parents.get(parentClass);
       WDBObject parent = scda.getObject(parentClass, parentUid);
       WDBObject grandparent = parent.getParentObject(superClassName, scda);
       if (grandparent != null) {
         return grandparent;
       }
     }
     // Not any superClass of mine!
     return null;
   } else {
     return null;
   }
 }