docs: @Override
      @FFDCIgnore(ClassNotFoundException.class)
      protected final Class<?> findClass(String name) throws ClassNotFoundException {
          if (transformers.isEmpty()) {
              Class<?> clazz = null;
              Object token = ThreadIdentityManager.runAsServer();
              try {
                  synchronized (getClassLoadingLock(name)) {
                      // This method may be invoked directly instead of via loadClass
                      // (e.g. when doing a "shallow" scan of the common library classloaders).
                      // So we first must check whether we've already defined/loaded the class.
                      // Otherwise we'll get a LinkageError on the second findClass call because
                      // it will attempt to define the class a 2nd time.
                      clazz = findLoadedClass(name);
                      if (clazz == null) {
                          ByteResourceInformation byteResInfo = this.findClassBytes(name);
                          clazz = definePackageAndClass(name, byteResInfo, byteResInfo.getBytes());
                      }
                  }
              } catch (ClassNotFoundException cnfe) {
                  // Check the common libraries.
                  clazz = findClassCommonLibraryClassLoaders(name);
              } finally {
                  ThreadIdentityManager.reset(token);
              }
              return clazz;
          }
  
          ByteResourceInformation byteResourceInformation;
          try {
              byteResourceInformation = findClassBytes(name);
          } catch (ClassNotFoundException cnfe) {
              // Check the common libraries.
              return findClassCommonLibraryClassLoaders(name);
          }
  
          byte[] bytes = transformClassBytes(byteResourceInformation.getBytes(), name);
          
  
          return definePackageAndClass(name, byteResourceInformation, bytes);
      }