docs: protected void registerSuperClassMultipleJoinedTables(ClassDescriptor cld)
      {
          /*
          arminw: Sadly, we can't map to sub class-descriptor, because it's not guaranteed
          that they exist when this method is called. Thus we map the class instance instead
          of the class-descriptor.
          */
          if(cld.getBaseClass() != null)
          {
              try
              {
                  Class superClass = ClassHelper.getClass(cld.getBaseClass());
                  Class currentClass = cld.getClassOfObject();
                  synchronized(descriptorTable)
                  {
                      List subClasses = (List) superClassMultipleJoinedTablesMap.get(superClass);
                      if(subClasses == null)
                      {
                          subClasses = new ArrayList();
                          superClassMultipleJoinedTablesMap.put(superClass,  subClasses);
                      }
                      if(!subClasses.contains(currentClass))
                      {
                          if(log.isDebugEnabled())
                          {
                              log.debug("(MultipleJoinedTables): Register sub-class '" + currentClass
                                      + "' for class '" + superClass);
                          }
                          subClasses.add(currentClass);
                      }
                  }
              }
              catch(Exception e)
              {
                  throw new MetadataException("Can't register super class '" + cld.getBaseClass()
                          + "' for class-descriptor: " + cld, e);
              }
          }
      }