code: @Override
      public <T> void registerInjectionTarget(javax.enterprise.inject.spi.InjectionTarget<T> injectionTarget, AnnotatedType<T> annotatedType) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "registerInjectionTarget", new Object[] { injectionTarget, Util.identity(annotatedType) });
          }
          Class<?> declaringClass = annotatedType.getJavaClass();
          WebSphereBeanDeploymentArchive wbda = deployment.getBeanDeploymentArchiveFromClass(declaringClass);
          //If it's not an application class we don't need to validate it
          if (wbda != null) {
              CDIArchive cdiArchive = wbda.getArchive();
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Injection Target Annotations: " + annotatedType.getAnnotations());
              }
              //We don't need to worry about constructors because constructors cannot be a producer.
              for (Annotated annotated : annotatedType.getFields()) {
                  validateAnnotatedMember(annotated, annotatedType.getJavaClass(), cdiArchive);
              }
              for (AnnotatedMethod<?> annotatedMethod : annotatedType.getMethods()) {
                  validateAnnotatedMethod(annotatedMethod, declaringClass, cdiArchive);
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "registerInjectionTarget");
          }
      }
docs: This method validates the injection point and then returns the object
  {@link InjectionServices#registerInjectionTarget(javax.enterprise.inject.spi.InjectionTarget, AnnotatedType)}