public Field createField(Item item, Object propertyId, Component uiContext) {
if (!isPropertyVisible(propertyId)) {
return null;
}
BeanItem<DictionaryItemWrapper> beanItem = Lang2.assumeType(item, BeanItem.class);
DictionaryItemWrapper bean = beanItem.getBean();
Field field = _VALUES.equals(propertyId)
? createItemValuesField(application, source, bean.getValueType())
: new TextField(source.getMessage("dict.item." + propertyId));
field.setWidth("100%");
if (isPropertyEditable(propertyId)) {
field.setRequired(isPropertyRequired(propertyId));
field.setRequiredError(source.getMessage("dict.item." + propertyId + ".required"));