anchor.diff:  <1> The `AmazingService` is created during injection.
   <2> The `CoolService` is a normal scoped bean so we have to invoke a method upon the injected proxy to force the instantiation.
   
  -* Annotate the bean with `@io.quarkus.runtime.Startup` as described in <<startup_annotation>>:
  +* Annotate the bean with `@io.quarkus.runtime.Startup` as described in link:lifecycle#startup_annotation[Startup annotation]:
   +
   [source,java]
   ----
  -@Startup // <1> 
  +@Startup // <1>
   @ApplicationScoped
   public class EagerAppBean {
  -  
  +
      private final String name;
   
      EagerAppBean(NameGenerator generator) { // <2>
  
positive.code: 
  Users can instruct the container to not remove any of their specific beans (even if they satisfy all the rules specified above) by annotating them with `io.quarkus.arc.Unremovable`.
  This annotation can be placed on the types, producer methods, and producer fields.
   
  Furthermore, extensions can eliminate possible false positives by producing `UnremovableBeanBuildItem`.
  
  Finally, Quarkus provides a middle ground for the bean removal optimization where application beans are never removed whether or not they are unused,
  
negative.code: 
  * after the observer notification completes for an event, if it was not already active when the notification started.
  
  NOTE: An event with qualifier `@Initialized(RequestScoped.class)` is fired when the request context is initialized for an observer notification. Moreover, the events with qualifiers `@BeforeDestroyed(RequestScoped.class)` and `@Destroyed(RequestScoped.class)` are fired when the request context is destroyed.
  
  === Qualified Injected Fields
  
  In CDI, if you declare a field injection point you need to use `@Inject` and optionally a set of qualifiers.
  
  [source,java]
  ----
    @Inject
  