anchor.diff:  }
   ----
   <1> Observe a `StartupEvent` to be notified the runtime has started.
  -<2> Observe a 'ShutdownEvent` to be notified when the runtime is going to shutdown.
  +<2> Observe a `ShutdownEvent` to be notified when the runtime is going to shutdown.
   
   What is the relevance of startup and shutdown events for extension authors? We have already seen the use of a `ShutdownContext`
   to register a callback to perform shutdown tasks in the <<Starting a Service>> section. These shutdown tasks would be called
  
positive.code: 
  An extension registers this substitution by producing an `ObjectSubstitutionBuildItem` as shown in this `TestProcessor#loadDSAPublicKey` fragment:
  
  .Registering an Object Subtitution
  [source,java]
  ----
      @BuildStep
  
negative.code: ==== Bean Defining Annotations
  The CDI layer processes CDI beans that are either explicitly registered or that it discovers based on bean defining annotations as defined in http://docs.jboss.org/cdi/spec/2.0/cdi-spec.html#bean_defining_annotations[2.5.1. Bean defining annotations]. You can expand this set of annotations to include annotations your extension processes using a `BeanDefiningAnnotationBuildItem` as shown in this `TestProcessor#registerBeanDefinningAnnotations` example:
  
  .Register a Bean Defining Annotation
  [source,java]
  ----
  import javax.enterprise.context.ApplicationScoped;
  