docs: @Override
      public Object createBusinessObject(String businessInterface, boolean useSupporting)
                      throws CreateException,
                      RemoteException,
                      CSIException
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled(); // d532639.2
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "createBusinessObject: " + businessInterface); // d367572.7
  
          homeEnabled();
  
          Object bean;
  
          try
          {
              BeanO beanO = beanOFactory.create(container, this, false);
  
              // In the normal case, just return the bean instance, or        d743117
              // if a wrapper is needed (PreDestroy or AroundInvoke) then create it
              // now to return instead of the bean instance. Unlike other wrappers,
              // this wrapper will contain a reference to the instance.  F743-34301.1
              if (beanMetaData.ivManagedBeanBeanOField == null)
              {
                  bean = beanO.getBeanInstance();
              }
              else
              {
                  bean = createManagedBeanWrapper(beanO);
              }
          } catch (Throwable t) {
              FFDCFilter.processException(t, CLASS_NAME + ".createBusinessObject",
                                          "129", this);
  
              for (Throwable cause = t.getCause(); cause != null; cause = cause.getCause()) {
                  if (cause instanceof RuntimeException) {
                      if (isTraceOn && tc.isEntryEnabled())
                          Tr.exit(tc, "createBusinessObject returning: " + cause);
                      throw (RuntimeException) cause;
                  }
  
                  if (cause instanceof Error) {
                      if (isTraceOn && tc.isEntryEnabled())
                          Tr.exit(tc, "createBusinessObject returning: " + cause);
                      throw (Error) cause;
                  }
              }
  
              RuntimeException rex = new RuntimeException("Failure creating instance of " +
                                                          beanMetaData.j2eeName +
                                                          " ManagedBean : " + t, t);
  
              if (isTraceOn && tc.isEntryEnabled())
                  Tr.exit(tc, "createBusinessObject returning: " + rex);
              throw rex;
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "createBusinessObject returning: " + Util.identity(bean));
  
          return bean;
      }