@SuppressWarnings("unchecked") @Override protected Column<PropertyBox> generateDefaultGridColumn( ItemListingColumn<Property<?>, PropertyBox, ?> configuration) { final Property<?> property = configuration.getProperty(); // check component if (Component.class.isAssignableFrom(property.getType())) { final Property<? extends Component> componentProperty = (Property<? extends Component>) property; return getGrid().addComponentColumn(item -> { if (item.contains(property)) { return item.getValue(componentProperty); } return null; }); } // default provider using property presenter return getGrid().addColumn(item -> { if (item.contains(property)) { return item.present(property); } return null; }); }