protected HtmlSimpleValueComponent findValidatableComponent(HtmlComponent component) { if (component instanceof HtmlSimpleValueComponent) { return (HtmlSimpleValueComponent) component;
protected Validatable findValidatableComponent(HtmlComponent component) { if (component instanceof Validatable) { return (Validatable) component;
    protected HtmlSimpleValueComponent findValidatableComponent(HtmlComponent component) {        if (component instanceof HtmlSimpleValueComponent) {            return (HtmlSimpleValueComponent) component;        } else {            List<HtmlComponent> children = component.getChildren(new Predicate() {                public boolean evaluate(Object component) {                    if (! (component instanceof HtmlFormComponent)) {                        return false;                    }                                        HtmlFormComponent formComponent = (HtmlFormComponent) component;                    return formComponent.hasTargetSlot();                }            });            if (children.size() > 0) {                return (HtmlSimpleValueComponent) children.get(0);            }        }                return null;    }