docs: protected boolean addClassInfo(NonDelayedClassInfo classInfo) {
          boolean didAdd;
  
          if (classInfo.isJavaClass()) {
              didAdd = basicPutJavaClassInfo(classInfo);
  
          } else if (classInfo.isAnnotationPresent() ||
                     classInfo.isFieldAnnotationPresent() ||
                     classInfo.isMethodAnnotationPresent()) {
              didAdd = basicPutAnnotatedClassInfo(classInfo);
  
          } else {
              didAdd = basicPutClassInfo(classInfo);
  
              // Note: 'addAsFirst' must only be performed for non-java, non-annotated
              //        classes.  Both java and annotated classes are put in separate
              //        storage which is never swapped.  Non-java, non-annotated classes
              //        are swappable, and are maintained in a last-access ordered
              //        linked list.
              //
              //        The current addition counts as an access, meaning, the class
              //        info is placed into the last-access list as the first element.
  
              if (didAdd) {
                  addAsFirst(classInfo);
              }
          }
  
          if (didAdd) {
              ClassInfoImpl delayedClassInfo = associate(classInfo);
              discardRef(delayedClassInfo); // No current use for the return value; discard it.
          }
  
          return didAdd;
      }