class AbstractFormItem implements FormItem<T> {

    @Override
    public void setRequired(boolean required) {
        if (this.required != required) {
            this.required = required;
            if (required) {
                apply(REQUIRED);
            } else {
                unapply(REQUIRED);
            }
        }
    }

      AbstractFormItem(String name, String label, String hint);

}