Program: 36608
Project: 36608
Buggy source:
@Override public void init(){
  content.getChildren().addAll(table.getRoot());
  VBox.setVgrow(table.getRoot(),Priority.ALWAYS);
  table.setFixedCellSize(GUI.font.getValue().getSize() + 5);
  table.getSelectionModel().setSelectionMode(MULTIPLE);
  table.setkeyNameColMapper(name -> "String_Node_Str".equals(name) ? name : MetadataGroup.Field.valueOfEnumString(name).toString());
  table.setColumnStateFacory(f -> {
    double w=f == VALUE ? 200 : 50;
    return new ColumnInfo(f.toString(),f.ordinal(),f.isCommon(),w);
  }
);
  table.setColumnFactory(mgf -> {
    Metadata.Field mf=fieldFilter.getValue();
    TableColumn<MetadataGroup,?> c=new TableColumn(mgf.toString(mf));
    c.setCellValueFactory(cf -> {
      if (cf.getValue() == null)       return null;
      return new ReadOnlyObjectWrapper(cf.getValue().getField(mgf));
    }
);
    String no_val=mgf == VALUE ? "String_Node_Str" : "String_Node_Str";
    c.setCellFactory(mgf == AVG_RATING ? (Callback)App.ratingCell.getValue() : mgf == W_RATING ? (Callback)new NumberRatingCellFactory() : DEFAULT_ALIGNED_CELL_FACTORY(mgf.getType(mf),no_val));
    c.setUserData(mgf);
    return c;
  }
);
  App.ratingCell.addListener((o,ov,nv) -> table.getColumn(AVG_RATING).ifPresent(c -> c.setCellFactory((Callback)nv)));
  columnInfo=table.getDefaultColumnInfo();
  table.setOnMouseClicked(e -> {
    if (e.getY() < table.getTableHeaderHeight())     return;
    if (e.getButton() == PRIMARY) {
      if (e.getClickCount() == 2)       play();
    }
 else     if (e.getButton() == SECONDARY)     contxt_menu.show(this,(TableView)table,e);
  }
);
  table.setOnKeyReleased(e -> {
    if (e.getCode() == ENTER)     play();
 else     if (e.getCode() == ESCAPE)     table.getSelectionModel().clearSelection();
 else     if (e.isControlDown() && e.getCode() == L)     resizeMainColumn();
  }
);
  table.setColumnResizePolicy(resize -> {
    boolean b=UNCONSTRAINED_RESIZE_POLICY.call(resize);
    resizeMainColumn();
    return b;
  }
);
  table.getSelectionModel().getSelectedItems().addListener((  Observable o) -> forwardItems(DB.views.getValue(lvl.getValue())));
  table.addEventFilter(MOUSE_PRESSED,consumeOnSecondaryButton);
  table.addEventFilter(MOUSE_RELEASED,consumeOnSecondaryButton);
  table.addEventFilter(MOUSE_CLICKED,consumeOnSecondaryButton);
  table.addEventFilter(ContextMenuEvent.ANY,Event::consume);
  table.setOnScroll(Event::consume);
}

Fixed version (ground truth):
@Override public void init(){
  content.getChildren().addAll(table.getRoot());
  VBox.setVgrow(table.getRoot(),Priority.ALWAYS);
  table.setFixedCellSize(GUI.font.getValue().getSize() + 5);
  table.getSelectionModel().setSelectionMode(MULTIPLE);
  table.setkeyNameColMapper(name -> "String_Node_Str".equals(name) ? name : MetadataGroup.Field.valueOfEnumString(name).toString());
  table.setColumnStateFacory(f -> {
    double w=f == VALUE ? 250 : 70;
    return new ColumnInfo(f.toString(),f.ordinal(),f.isCommon(),w);
  }
);
  table.setColumnFactory(mgf -> {
    Metadata.Field mf=fieldFilter.getValue();
    TableColumn<MetadataGroup,?> c=new TableColumn(mgf.toString(mf));
    c.setCellValueFactory(cf -> {
      if (cf.getValue() == null)       return null;
      return new ReadOnlyObjectWrapper(cf.getValue().getField(mgf));
    }
);
    String no_val=mgf == VALUE ? "String_Node_Str" : "String_Node_Str";
    c.setCellFactory(mgf == AVG_RATING ? (Callback)App.ratingCell.getValue() : mgf == W_RATING ? (Callback)new NumberRatingCellFactory() : DEFAULT_ALIGNED_CELL_FACTORY(mgf.getType(mf),no_val));
    c.setUserData(mgf);
    return c;
  }
);
  App.ratingCell.addListener((o,ov,nv) -> table.getColumn(AVG_RATING).ifPresent(c -> c.setCellFactory((Callback)nv)));
  columnInfo=table.getDefaultColumnInfo();
  table.setOnMouseClicked(e -> {
    if (e.getY() < table.getTableHeaderHeight())     return;
    if (e.getButton() == PRIMARY) {
      if (e.getClickCount() == 2)       play();
    }
 else     if (e.getButton() == SECONDARY)     contxt_menu.show(this,(TableView)table,e);
  }
);
  table.setOnKeyReleased(e -> {
    if (e.getCode() == ENTER)     play();
 else     if (e.getCode() == ESCAPE)     table.getSelectionModel().clearSelection();
 else     if (e.isControlDown() && e.getCode() == L)     resizeMainColumn();
  }
);
  table.setColumnResizePolicy(resize -> {
    boolean b=UNCONSTRAINED_RESIZE_POLICY.call(resize);
    resizeMainColumn();
    return b;
  }
);
  table.getSelectionModel().getSelectedItems().addListener((  Observable o) -> forwardItems(DB.views.getValue(lvl.getValue())));
  table.addEventFilter(MOUSE_PRESSED,consumeOnSecondaryButton);
  table.addEventFilter(MOUSE_RELEASED,consumeOnSecondaryButton);
  table.addEventFilter(MOUSE_CLICKED,consumeOnSecondaryButton);
  table.addEventFilter(ContextMenuEvent.ANY,Event::consume);
  table.setOnScroll(Event::consume);
}