class AbstractFormItem implements FormItem<T> {

    @Override
    public void detach() {
        if (suggestHandler instanceof Attachable) {
            ((Attachable) suggestHandler).detach();
        }
        appearances.values().forEach(Appearance::detach);
        for (com.google.web.bindery.event.shared.HandlerRegistration handler : handlers) {
            handler.removeHandler();
        }
        handlers.clear();
    }

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

}