code: public void validateInjectionPointForDeploymentProblems(InjectionPoint ij, Bean<?> bean, BeanManagerImpl beanManager) {
          if (ij.isDelegate()) {
              return; // do not validate delegate injection points as these are special
          }
          Set<Bean<?>> resolvedBeans = beanManager.getBeanResolver().resolve(beanManager.getBeans(ij));
          if (!isInjectionPointSatisfied(ij, resolvedBeans, beanManager)) {
              throw ValidatorLogger.LOG.injectionPointHasUnsatisfiedDependencies(
                      ij,
                      Formats.formatAnnotations(ij.getQualifiers()),
                      Formats.formatInjectionPointType(ij.getType()),
                      Formats.formatAsStackTraceElement(ij),
                      InjectionPoints.getUnsatisfiedDependenciesAdditionalInfo(ij, beanManager));
          }
          if (resolvedBeans.size() > 1) {
              throw ValidatorLogger.LOG.injectionPointHasAmbiguousDependencies(
                  ij,
                  Formats.formatAnnotations(ij.getQualifiers()),
                  Formats.formatInjectionPointType(ij.getType()),
                  Formats.formatAsStackTraceElement(ij),
                  WeldCollections.toMultiRowString(resolvedBeans));
          }
          // Account for the case this is disabled decorator
          if (!resolvedBeans.isEmpty()) {
              Bean<?> resolvedBean = (Bean<?>) resolvedBeans.iterator().next();
              if (beanManager.isNormalScope(resolvedBean.getScope())) {
                  UnproxyableResolutionException ue = Proxies.getUnproxyableTypeException(ij.getType(), resolvedBean, beanManager.getServices(), false);
                  if (ue != null) {
                      throw ValidatorLogger.LOG.injectionPointHasNonProxyableDependencies(ij, Formats.formatAsStackTraceElement(ij), ue);
                  }
              }
              if (bean != null && Beans.isPassivatingScope(bean, beanManager)) {
                  validateInjectionPointPassivationCapable(ij, resolvedBean, beanManager);
              }
          }
  
          for (PlugableValidator validator : plugableValidators) {
              validator.validateInjectionPointForDeploymentProblems(ij, bean, beanManager);
          }
  
          if (resolvedInjectionPoints != null) {
              // Store result to identify unused beans
              resolvedInjectionPoints.put(resolvedBeans.iterator().next(), Boolean.TRUE);
          }
      }
docs: Checks for deployment problems associated with a given {@link InjectionPoint}