Como desativar o reordenamento de colunas em um TableView JavaFX2?

JavaFX2'sVista de mesa apresenta "Reordenamento de coluna pelo usuário em tempo de execução". Gostaria de desativar esse recurso para uma tabela específica no meu aplicativo.

Olhando para o doc de API, não há um gancho de API óbvio para isso. Há, no entanto, acolumns-propriedade. Segundo o documento, representa

O TableColumns que fazem parte deste TableView. Conforme o usuário reordena as colunas TableView, essa lista será atualizada para refletir a ordem visual atual.

Esperando que eu pudesse pelo menos redefinir uma alteração depois que ela ocorresse, tentei adicionar um ouvinte para redefinir as alterações após o fato.

import javafx.application.Application;
import javafx.collections.ListChangeListener;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.stage.Stage;

public class TableTest extends Application {

  public static void main(String[] args) {
    launch(args);
  }


  @Override
  public void start(Stage stage) {
    TableView tableView = new TableView();
    tableView.getColumns().setAll(new TableColumn(), new TableColumn());
    tableView.getColumns().addListener(new ListChangeListener() {
        @Override
        public void onChanged(Change change) {
            if (change.wasPermutated()){
               change.reset();
            }
        }
    });
    stage.setScene(new Scene(tableView));
    stage.show();
  }
}

No entanto, o ouvinte aborta com umIllegalStateException quando peçowasPermutated.
Existe uma maneira de evitar a reordenação ou, pelo menos, de revertê-la programaticamente?

questionAnswers(1)

yourAnswerToTheQuestion