code: private static Class<?> loadCustomerProvidedBeanClass(BeanMetaData bmd) throws ContainerException, EJBConfigurationException {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "loadCustomerProvidedBeanClass : " + bmd.enterpriseBeanClassName);
  
          // enterpriseBeanClass will be null only if loadCustomerProvidedBeanClass
          // is called prior to loadCustomerProvidedClasses.  For example, from
          // processAutomaticTimerMetaData via processBean if deferred init.
          if (bmd.enterpriseBeanClass == null) {
              try {
                  bmd.enterpriseBeanClass = bmd.classLoader.loadClass(bmd.enterpriseBeanClassName);
              } catch (Throwable ex) {
                  FFDCFilter.processException(ex, CLASS_NAME + ".loadCustomerProvidedBeanClass", "6369");
                  Tr.error(tc, "BEANCLASS_NOT_FOUND_CNTR0075E", bmd.enterpriseBeanClassName);
  
                  String message = "Bean class " + bmd.enterpriseBeanClassName + " could not be found or loaded";
                  if (ex instanceof ClassNotFoundException || ex instanceof LinkageError)
                      throw new EJBConfigurationException(message, ex);
                  throw new ContainerException(message, ex);
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "loadCustomerProvidedBeanClass");
          return bmd.enterpriseBeanClass;
      }
docs: F743-506