@Override
 public ConditionOutcome getMatchOutcome(
     ConditionContext context, AnnotatedTypeMetadata metadata) {
   Environment environment = context.getEnvironment();
   RelaxedPropertyResolver resolver =
       new RelaxedPropertyResolver(environment, "security.oauth2.resource.");
   Boolean preferTokenInfo = resolver.getProperty("prefer-token-info", Boolean.class);
   if (preferTokenInfo == null) {
     preferTokenInfo =
         environment
             .resolvePlaceholders("${OAUTH2_RESOURCE_PREFERTOKENINFO:true}")
             .equals("true");
   }
   String tokenInfoUri = resolver.getProperty("token-info-uri");
   String userInfoUri = resolver.getProperty("user-info-uri");
   if (!StringUtils.hasLength(userInfoUri)) {
     return ConditionOutcome.match("No user info provided");
   }
   if (StringUtils.hasLength(tokenInfoUri) && preferTokenInfo) {
     return ConditionOutcome.match(
         "Token info endpoint " + "is preferred and user info provided");
   }
   return ConditionOutcome.noMatch("Token info endpoint is not provided");
 }