/**
  * ******************************************************* Disposable *
  * *******************************************************
  */
 @Override
 public void dispose() {
   if (!isDisposed()) {
     super.dispose();
     datasetEditor = null;
     changedRows.clear();
     settings = null;
   }
 }
 @Override
 protected void disposeRow(DatasetEditorModelRow row) {
   if (!changedRows.contains(row)) {
     super.disposeRow(row);
   }
 }