Currently in the TreeTableModel if you use the refresh() method it updates the table while preserving the expanded/contracted status of each row. This is good.
However, after a refresh any rows that were selected are no longer selected. It would be nice if the model maintained the selection state of each row and the list of selected rows for the table after a refresh.