code: Map<Class<?>, List<InjectionTarget>> getDeclaredInjectionTargets
                      (List<InjectionBinding<?>> resolvedInjectionBindings)
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "getDeclaredInjectionTargets");
  
          Map<Class<?>, List<InjectionTarget>> declaredTargets =
                          new HashMap<Class<?>, List<InjectionTarget>>();
  
          // First, collect declared injection targets on a per-class basis.
          for (InjectionBinding<?> injectionBinding : resolvedInjectionBindings)
          {
              if (!injectionBinding.isResolved())
              {
                  if (isTraceOn && tc.isDebugEnabled())
                      Tr.debug(tc, "skipping unresolved " + injectionBinding);
                  continue;
              }
  
              if (isTraceOn && tc.isDebugEnabled())
                  Tr.debug(tc, "adding targets for " +
                               Util.identity(injectionBinding) + '[' + injectionBinding.getDisplayName() + ']');
  
              List<InjectionTarget> injectionTargets = InjectionProcessorContextImpl.getInjectionTargets(injectionBinding);
              if (injectionTargets != null)
              {
                  for (InjectionTarget target : injectionTargets)
                  {
                      Member member = target.getMember();
                      Class<?> memberClass = member.getDeclaringClass();
  
                      if (isTraceOn && tc.isDebugEnabled())
                          Tr.debug(tc, "adding " + member);
  
                      List<InjectionTarget> classTargets = declaredTargets.get(memberClass);
                      if (classTargets == null)
                      {
                          if (isTraceOn && tc.isDebugEnabled())
                              Tr.debug(tc, "creating list for " + memberClass + "/" + AccessController.doPrivileged(new GetClassLoaderPrivileged(memberClass)));
  
                          classTargets = new ArrayList<InjectionTarget>();
                          declaredTargets.put(memberClass, classTargets);
                      }
  
                      classTargets.add(target);
                  }
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "getDeclaredInjectionTargets");
          return declaredTargets;
      }
docs: d719917