public TableDataContainer(TableItems<I> tableItems, TableItemsEventsDelegate<I> dataEventsDelegate) { this.tableItems = tableItems; this.dataEventsDelegate = dataEventsDelegate; this.itemSetChangeSubscription = this.tableItems.addItemSetChangeListener(this::datasourceItemSetChanged); this.valueChangeSubscription = this.tableItems.addValueChangeListener(this::datasourceValueChanged); this.stateChangeSubscription = this.tableItems.addStateChangeListener(this::datasourceStateChanged); this.selectedItemChangeSubscription = this.tableItems.addSelectedItemChangeListener(this::datasourceSelectedItemChanged); }