code: public void start()
      {
          if (!state.compareAndSet(State.LATENT, State.STARTING)) {
              throw new IllegalStateException("System already starting");
          }
          for (LifeCycleListener listener : listeners) {
              listener.startingLifeCycle();
          }
  
          for (Object obj : managedInstances) {
              LifeCycleMethods methods = methodsMap.get(obj.getClass());
              if (!methods.hasFor(PreDestroy.class)) {
                  managedInstances.remove(obj);   // remove reference to instances that aren't needed anymore
              }
          }
  
          state.set(State.STARTED);
          for (LifeCycleListener listener : listeners) {
              listener.startedLifeCycle();
          }
      }
docs: Start the life cycle - all instances will have their {@link javax.annotation.PostConstruct} method(s) called