docs: void processClaimInjections(@Observes ProcessInjectionPoint pip) {
          log.debugf("pipRaw: %s", pip.getInjectionPoint());
          InjectionPoint ip = pip.getInjectionPoint();
          if (ip.getAnnotated().isAnnotationPresent(Claim.class)) {
              Claim claim = ip.getAnnotated().getAnnotation(Claim.class);
              if (ip.getType() instanceof Class) {
                  Class rawClass = (Class) ip.getType();
                  // Primative types
                  if (Modifier.isFinal(rawClass.getModifiers())) {
                      rawTypes.add(ip.getType());
                      rawTypeQualifiers.add(claim);
                      log.debugf("+++ Added Claim raw type: %s", ip.getType());
                      Class declaringClass = ip.getMember().getDeclaringClass();
                      Annotation[] appScoped = declaringClass.getAnnotationsByType(ApplicationScoped.class);
                      Annotation[] sessionScoped = declaringClass.getAnnotationsByType(SessionScoped.class);
                      if ((appScoped != null && appScoped.length > 0) || (sessionScoped != null && sessionScoped.length > 0)) {
                          String err = String.format("A raw type cannot be injected into application/session scope: IP=%s", ip);
                          pip.addDefinitionError(new DeploymentException(err));
                      }
                  }
              // This handles collections of primative types
              } else if (isRawParameterizedType(ip.getType())) {
                  log.debugf("+++ Added Claim ParameterizedType: %s", ip.getType());
                  rawTypes.add(ip.getType());
                  rawTypeQualifiers.add(claim);
              }
          } else {
              log.debugf("Skipping pip: %s, type: %s/%s", ip, ip.getType(), ip.getType().getClass());
          }
      }