@Override
 public void elementRemoved(ListEvent<CharacterLevelFacade> e) {
   editor.cancelCellEditing();
   resetLevelMap();
   // Do a full refresh as the new max class level row may be affected
   fireTableDataChanged();
 }
 @Override
 public void elementAdded(ListEvent<CharacterLevelFacade> e) {
   editor.cancelCellEditing();
   int i = e.getIndex();
   String c = levels.getClassTaken(levels.getElementAt(i)).getKeyName();
   finalLevelMap.put(c, i);
   // Do a full refresh as the previous max class level row may be affected
   fireTableDataChanged();
 }
 @Override
 public void elementsChanged(ListEvent<CharacterLevelFacade> e) {
   editor.cancelCellEditing();
   resetLevelMap();
   fireTableDataChanged();
 }