code: protected void doScanReferenceClasses() throws AnnotationTargets_Exception {
          if (haveScannedReferencedClasses) {
              return;
          }
  
          try {
              doScanDirectClasses();
  
          } catch (AnnotationTargets_Exception e) {
              haveScannedReferencedClasses = true;
              rootClassSource = null;
  
              throw e;
          }
  
          haveScannedReferencedClasses = true;
  
          ClassSource_Aggregate useRootClassSource = rootClassSource;
          rootClassSource = null;
  
          if (useRootClassSource == null) {
              if (tc.isDebugEnabled()) {
                  Tr.debug(tc, "Attempt scan referenced classes before activation");
              }
  
          } else {
              if (externalClassSourceCount == 0) {
                  if (tc.isDebugEnabled()) {
                      Tr.debug(tc, "Strange call to scan reference classes with no external class sources");
                  }
              }
  
              createScanner(useRootClassSource).scanReferenced();
              // 'createScanner' and 'scan' both throw AnnotationTargets_Exception
          }
      }
docs: PostCondition: rootClassSource == null