docs: @Override
      public ObjectType getObjectType(Object theObject)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              Tr.entry(tc, "getObjectType: " + theObject.getClass());
          }
  
          ObjectType objectType = ObjectType.NOT_AN_EJB;
          if (theObject instanceof javax.rmi.CORBA.Stub)
          {
              if (theObject instanceof EJBObject)
              {
                  objectType = ObjectType.EJB_OBJECT;
              }
              else if (theObject instanceof EJBHome)
              {
                  objectType = ObjectType.EJB_HOME;
              }
              else
              {
                  objectType = ObjectType.CORBA_STUB;
              }
          }
          else if (theObject instanceof WrapperProxy) // F58064
          {
              if (theObject instanceof LocalBeanWrapperProxy)
              {
                  // There is no sense in using heavyweight reflection to dig out the
                  // WrapperProxyState since we can cheaply detect local bean.
                  objectType = ObjectType.EJB_LOCAL_BEAN;
              }
              else
              {
                  objectType = WrapperProxyState.getWrapperProxyState(theObject).getSerializerObjectType();
              }
          }
          else if (theObject instanceof EJSWrapperBase)
          {
              EJSWrapperBase wrapper = (EJSWrapperBase) theObject;
              WrapperInterface wInterface = wrapper.ivInterface;
              if (wInterface == WrapperInterface.BUSINESS_LOCAL)
              {
                  objectType = ObjectType.EJB_BUSINESS_LOCAL;
              }
              else if (wInterface == WrapperInterface.LOCAL)
              {
                  objectType = ObjectType.EJB_LOCAL_OBJECT;
              }
              else if (wInterface == WrapperInterface.LOCAL_HOME)
              {
                  objectType = ObjectType.EJB_LOCAL_HOME;
              }
              else if (wInterface == WrapperInterface.BUSINESS_REMOTE)
              {
                  objectType = ObjectType.EJB3_BUSINESS_REMOTE;
              }
              else if (wInterface == WrapperInterface.BUSINESS_RMI_REMOTE)
              {
                  objectType = ObjectType.EJB3_BUSINESS_REMOTE;
              }
          }
          else if (theObject instanceof LocalBeanWrapper) // d609263
          {
              objectType = ObjectType.EJB_LOCAL_BEAN;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              Tr.exit(tc, "ObjectType = " + objectType);
          }
  
          return objectType;
      }