La clasificación de columnas de la tabla Java FX con Comparator no funciona

En Java FX me gustaría mostrar este modelo en una vista de tabla ordenada:

   public class ProfilZuordnungTableRowModel {
    private int id;
    private double kundenwert;
    private String kundenwertFormatted;
    private BooleanProperty selected; }

Me gustaría integrar unclasificación de la columna de la tabla con la columna "Kundenwert". El valor mostrado debe ser el atributo "kundenwertFormatted" (String) y para clasificar el atributo "kundenwert" (doble) debe utilizarse.

Así que escribí un comparador:

class ProfilZuordnungTableRowModelComparator implements Comparator<ProfilZuordnungTableRowModel> {

    @Override
    public int compare(ProfilZuordnungTableRowModel t, ProfilZuordnungTableRowModel t1) {
         return t.getKundenwert() < t1.getKundenwert() ? -1 : t.getKundenwert() == t1.getKundenwert() ? 0 : 1;
    }
}

A mi entender, este comparador debe usarse de la siguiente manera:

    TableColumn kundenwertColumn = new TableColumn();
    kundenwertColumn.setText("Kundenwert");

    kundenwertColumn.setCellValueFactory(new PropertyValueFactory("kundenwertFormatted"));
    kundenwertColumn.setComparator(new ProfilZuordnungTableRowModelComparator());

Pero cuando intento ordenar por la columna "Kundenwert" obtengo la siguiente excepción:

java.lang.ClassCastException: java.lang.String cannot be cast to model.ProfilZuordnungTableRowModel
    at dialog.TableCellFactorySample$ProfilZuordnungTableRowModelComparator.compare(TableCellFactorySample.java:53)

que apunta a esta línea:

kundenwertColumn.setComparator(new ProfilZuordnungTableRowModelComparator());

¿Algunas ideas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta