@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");
        }
    }
@ 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 ( wbda != null ) { CDIArchive cdiArchive = wbda . getArchive ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "Injection Target Annotations: " + annotatedType . getAnnotations ( ) ) ; } 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" ) ; } }
This method validates the injection point and then returns the object
{@link InjectionServices#registerInjectionTarget(javax.enterprise.inject.spi.InjectionTarget, AnnotatedType)}