code: protected <T> void createObserversProducersDisposers(AbstractClassBean<T> bean) {
          if (bean instanceof ManagedBean<?> || bean instanceof SessionBean<?>) {
              // disposal methods have to go first as we want them to be ready for resolution when initializing producer method/fields
              createDisposalMethods(bean, bean.getEnhancedAnnotated());
              createProducerMethods(bean, bean.getEnhancedAnnotated());
              createProducerFields(bean, bean.getEnhancedAnnotated());
              if (manager.isBeanEnabled(bean)) {
                  createObserverMethods(bean, bean.getEnhancedAnnotated());
              }
          }
      }
docs: Creates the sub bean for an class (simple or enterprise) bean
  
  @param bean The class bean