code: protected function validatorClassName(
          RuntimeConfiguration $configuration,
          ClassDefinition $classDefinition
      ) {
          $this->typeCheck->validatorClassName(func_get_args());
  
          $classNameAtoms = $configuration->validatorNamespace()->atoms();
          $classNameAtoms[] = 'Validator';
          if ($classDefinition->className()->hasParent()) {
              $classNameAtoms = array_merge(
                  $classNameAtoms,
                  $classDefinition->className()->parent()->atoms()
              );
          }
  
          $classNameAtoms[] = sprintf(
              '%sTypeCheck',
              $classDefinition->className()->shortName()->string()
          );
  
          return ClassName::fromAtoms($classNameAtoms, true);
      }
docs: @param RuntimeConfiguration $configuration
  @param ClassDefinition      $classDefinition
  
  @return ClassName