@Override
 @SuppressWarnings("unchecked")
 public void updateItem(Boolean checked, boolean empty) {
   super.updateItem(checked, empty);
   if (checked != null && getTableRow() != null) {
     checkBox.setSelected(checked);
     checkBox
         .selectedProperty()
         .addListener(
             (check, oldValue, newValue) -> {
               Object item = getTableRow().getItem();
               setBoolean((S) item, newValue);
             });
     setGraphic(checkBox);
     setStyle("-fx-alignment: CENTER;");
   }
 }