void (ActionEvent e) { int selectedRow = getSelectedRow(); if (isEditing() || selectedRow == -1) { return; } Property property = myProperties.get(selectedRow); if (!getChildren(property).isEmpty()) { if (isExpanded(property)) { collapse(selectedRow); } else { expand(selectedRow); } } else { startEditing(selectedRow, true); } }