void (int rowIndex) { int selectedRow = getSelectedRow(); Property property = myProperties.get(rowIndex); int size = collapse(property, rowIndex + 1); LOG.assertTrue(size > 0); myModel.fireTableDataChanged(); if (selectedRow != -1) { if (selectedRow > rowIndex) { selectedRow -= size; } getSelectionModel().setSelectionInterval(selectedRow, selectedRow); } }