docs: private void obtainValidator()
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
  
          if (fromValidatorFactory)
          {
              if (isTraceOn && tc.isDebugEnabled())
              {
                  Tr.debug(tc, "Obtaining Validator instance from ValidatorFactory...");
              }
  
              ValidatorFactory validatorFactory = ivValidatorFactoryLocator.getValidatorFactory();
              ivValidator = validatorFactory.getValidator();
          }
          else
          {
              if (isTraceOn && tc.isDebugEnabled())
              {
                  Tr.debug(tc, "Obtaining Validator instance from ValidatorContext, using TraversableResolver " + ivSpecifiedTraversableResolver +
                               ", message interpolator " + ivSpecifiedMessageInterpolator +
                               ", parameter name provider " + ivSpecifiedParameterNameProvider
                               + ", and constraint validator factory " + ivSpecifiedConstraintValidatorFactory);
              }
  
              ValidatorFactory validatorFactory = ivValidatorFactoryLocator.getValidatorFactory();
              ValidatorContext validatorContext = validatorFactory.usingContext();
  
              if (ivSpecifiedTraversableResolver != null)
              {
                  validatorContext.traversableResolver(ivSpecifiedTraversableResolver);
              }
  
              if (ivSpecifiedMessageInterpolator != null)
              {
                  validatorContext.messageInterpolator(ivSpecifiedMessageInterpolator);
              }
  
              if (ivSpecifiedConstraintValidatorFactory != null)
              {
                  validatorContext.constraintValidatorFactory(ivSpecifiedConstraintValidatorFactory);
              }
  
              if (ivSpecifiedParameterNameProvider != null)
                  validatorContext.parameterNameProvider(ivSpecifiedParameterNameProvider);
              
              if (ivClockProvider != null) {
              		validatorContext.clockProvider(ivClockProvider);
              }
              
              if (ivValueExtractorList != null && ivValueExtractorList.size() > 0) {
              		for (ValueExtractor<?> ve : ivValueExtractorList) {
              			validatorContext.addValueExtractor(ve);
              		}
              }
  
              ivValidator = validatorContext.getValidator();
          }
  
          if (isTraceOn && tc.isDebugEnabled())
          {
              Tr.debug(tc, "Obtained the Validator: " + ivValidator);
          }
  
      }