code: @SuppressWarnings("unchecked")
      @Override
      public T create(CreationalContext<T> creationalContext) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "create", creationalContext);
          }
  
          T instance = null;
          CDI<Object> cdi = CDI.current();
          BeanManager beanManager = cdi.getBeanManager();
  
          if (beanType instanceof ParameterizedType) {
              instance = createInstanceForParameterizedType(creationalContext, beanManager);
          } else if (beanType instanceof Class) {
              instance = createClaimValueForClassType();
          } else {
              throw new IllegalArgumentException(Tr.formatMessage(tc, "MPJWT_CDI_INVALID_INJECTION_TYPE", beanType));
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "create", instance);
          }
          return instance;
      }
docs: {@inheritDoc}