@Override
  protected void storeSyntheticAnnotatedType(
      BeanDeployment deployment, AnnotatedType<?> type, String id) {
    SlimAnnotatedType<?> annotatedType =
        transformer.getUnbackedAnnotatedType(type, getBeanManager().getId(), id);
    Extension extension = getReceiver();
    SlimAnnotatedTypeContext<?> annotatedTypeContext =
        SlimAnnotatedTypeContext.of(annotatedType, extension);

    ProcessAnnotatedTypeImpl<?> event =
        events.fireProcessAnnotatedType(getBeanManager(), annotatedTypeContext);
    if (event == null) {
      deployment.getBeanDeployer().getEnvironment().addAnnotatedType(annotatedTypeContext);
      store.put(annotatedType);
    } else if (event.isVeto()) {
      return;
    } else {
      annotatedType = event.getResultingAnnotatedType();
      deployment
          .getBeanDeployer()
          .getEnvironment()
          .addSyntheticAnnotatedType(annotatedType, extension);
      store.put(annotatedType);
    }
  }
 @Override
 public <T> Iterable<AnnotatedType<T>> getAnnotatedTypes(Class<T> type) {
   checkWithinObserverNotification();
   Preconditions.checkArgumentNotNull(type, TYPE_ARGUMENT_NAME);
   return cast(slimAnnotatedTypeStore.get(type));
 }
 @Override
 public <T> AnnotatedType<T> getAnnotatedType(Class<T> type, String id) {
   checkWithinObserverNotification();
   Preconditions.checkArgumentNotNull(type, TYPE_ARGUMENT_NAME);
   return slimAnnotatedTypeStore.get(type, id);
 }