code: public int doStartTag() throws JspException {
          
          // Locate our parent UIComponentTag
          UIComponentClassicTagBase tag =
               UIComponentClassicTagBase.getParentUIComponentClassicTagBase(pageContext);
          if (tag == null) { 
         	    //PENDING i18n
              throw new JspException("Not nested in a UIComponentTag Error for tag with handler class:"+
                      this.getClass().getName());
          }
  
          // Nothing to do unless this tag created a component
          if (!tag.getCreated()) {
              return (SKIP_BODY);
          }
          
          UIComponent component = tag.getComponentInstance();
          if (component == null) {            
              //PENDING i18n
              throw new JspException("Can't create Component from tag.");
          }
          if (!(component instanceof EditableValueHolder)) {
              // PENDING i18n
              throw new JspException("Not nested in a tag of proper type. Error for tag with handler class:"+
                      this.getClass().getName());
          }
  
          Validator validator = createValidator();
          
          if (validator == null) {
              //noinspection NonConstantStringShouldBeStringBuffer
              String validateError = null;
              if (binding != null) {
                  validateError = binding;
              }
              if (validatorId != null) {
                  if (validateError != null) {
                      validateError += " or " + validatorId;
                  } else {
                      validateError = validatorId;
                  }
              }
                  
              // PENDING i18n
              throw new JspException("Can't create class of type:"+
                  "javax.faces.validator.Validator from:"+validateError);
          }
  
          // Register an instance with the appropriate component
          ((EditableValueHolder)component).addValidator(validator);
          
          return (SKIP_BODY);
  
      }
docs: <p>Create a new instance of the specified {@link Validator}
  class, and register it with the {@link UIComponent} instance associated
  with our most immediately surrounding {@link UIComponentTag} instance, if
  the {@link UIComponent} instance was created by this execution of the
  containing JSP page.</p>
  
  @throws JspException if a JSP error occurs