Program: 36599
Project: 36599
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.searchSetColumn(VALUE);
  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(f -> {
    Metadata.Field mf=fieldFilter.getValue();
    TableColumn<MetadataGroup,?> c=new TableColumn(f.toString(mf));
    c.setCellValueFactory(cf -> cf.getValue() == null ? null : new PojoV(cf.getValue().getField(f)));
    Pos a=f.getType(mf).equals(String.class) ? CENTER_LEFT : CENTER_RIGHT;
    c.setCellFactory(f == AVG_RATING ? (Callback)App.ratingCell.getValue() : f == W_RATING ? (Callback)new NumberRatingCellFactory() : (Callback)col -> {
      TableCell<MetadataGroup,Object> cell=new TableCell<MetadataGroup,Object>(){
        @Override protected void updateItem(        Object item,        boolean empty){
          super.updateItem(item,empty);
          setText(empty ? "String_Node_Str" : f.toS(item,"String_Node_Str"));
        }
      }
;
      cell.setAlignment(a);
      return cell;
    }
);
    return c;
  }
);
  App.ratingCell.addListener((o,ov,nv) -> table.getColumn(AVG_RATING).ifPresent(c -> c.setCellFactory((Callback)nv)));
  columnInfo=table.getDefaultColumnInfo();
  table.setRowFactory(tbl -> new ImprovedTableRow<MetadataGroup>().styleRuleAdd("String_Node_Str",mg -> Player.playingtem.get().getField(fieldFilter.getValue()).equals(mg.getValue())).onLeftDoubleClick((row,e) -> playSelected()).onRightSingleClick((row,e) -> {
    if (!row.isSelected())     tbl.getSelectionModel().clearAndSelect(row.getIndex());
    contxt_menu.show(this,(TableView)table,e);
  }
));
  d2=Player.playingtem.subscribeToChanges(o -> table.updateStyleRules());
  Menu m=(Menu)table.columnVisibleMenu.getItems().stream().filter(i -> i.getText().equals("String_Node_Str")).findFirst().get();
  Stream.of(Field.values()).map(f -> new CheckMenuItem(f.toStringEnum(),false){
{
      this.setOnMouseClicked(() -> {
        if (!selected.get()) {
          m.getItems().forEach(mi -> ((CheckMenuItem)mi).selected.set(false));
          selected.set(true);
          fieldFilter.setNapplyValue(f);
        }
      }
);
    }
  }
).forEach(m.getItems()::add);
  table.columnVisibleMenu.addEventHandler(WINDOW_SHOWN,e -> m.getItems().forEach(mi -> ((CheckMenuItem)mi).selected.set(fieldFilter.getValue().toStringEnum().equals(mi.getText()))));
  table.setOnKeyPressed(e -> {
    if (e.getCode() == ENTER)     playSelected();
 else     if (e.getCode() == ESCAPE)     table.getSelectionModel().clearSelection();
  }
);
  table.setOnDragDetected(e -> {
    if (e.getButton() == PRIMARY && !table.getSelectedItems().isEmpty() && table.isRowFull(table.getRowS(e.getSceneX(),e.getSceneY()))) {
      Dragboard db=table.startDragAndDrop(COPY);
      DragUtil.setItemList(filerListToSelectedNsort(),db);
    }
    e.consume();
  }
);
  table.setColumnResizePolicy(resize -> {
    boolean b=UNCONSTRAINED_RESIZE_POLICY.call(resize);
    table.getColumn("String_Node_Str").ifPresent(i -> i.setPrefWidth(table.calculateIndexColumnWidth()));
    find(table.getColumns(),c -> VALUE == c.getUserData()).ifPresent(c -> {
      double w=table.getColumns().stream().filter(TableColumn::isVisible).mapToDouble(TableColumn::getWidth).sum();
      double itemsHeight=(table.getItems().size() + 1) * table.getFixedCellSize();
      double scrollbar=itemsHeight < table.getHeight() ? 0 : 15;
      c.setPrefWidth(table.getWidth() - (scrollbar + w - c.getWidth()));
    }
);
    return b;
  }
);
  EventStreams.changesOf(table.getSelectedItems()).reduceSuccessions((a,b) -> b,ofMillis(100)).subscribe(c -> {
    if (!sel_lock)     forwardItems(DB.views.getValue(lvl.getValue()));
  }
);
  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.searchSetColumn(VALUE);
  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(f -> {
    Metadata.Field mf=fieldFilter.getValue();
    TableColumn<MetadataGroup,?> c=new TableColumn(f.toString(mf));
    c.setCellValueFactory(cf -> cf.getValue() == null ? null : new PojoV(cf.getValue().getField(f)));
    Pos a=f.getType(mf).equals(String.class) ? CENTER_LEFT : CENTER_RIGHT;
    c.setCellFactory(f == AVG_RATING ? (Callback)App.ratingCell.getValue() : f == W_RATING ? (Callback)new NumberRatingCellFactory() : (Callback)col -> {
      TableCell cel=table.buildDefaultCell(f);
      cel.setAlignment(a);
      return cel;
    }
);
    return c;
  }
);
  App.ratingCell.addListener((o,ov,nv) -> table.getColumn(AVG_RATING).ifPresent(c -> c.setCellFactory((Callback)nv)));
  columnInfo=table.getDefaultColumnInfo();
  table.setRowFactory(tbl -> new ImprovedTableRow<MetadataGroup>().styleRuleAdd("String_Node_Str",mg -> Player.playingtem.get().getField(fieldFilter.getValue()).equals(mg.getValue())).onLeftDoubleClick((row,e) -> playSelected()).onRightSingleClick((row,e) -> {
    if (!row.isSelected())     tbl.getSelectionModel().clearAndSelect(row.getIndex());
    contxt_menu.show(this,(TableView)table,e);
  }
));
  d2=Player.playingtem.subscribeToChanges(o -> table.updateStyleRules());
  Menu m=(Menu)table.columnVisibleMenu.getItems().stream().filter(i -> i.getText().equals("String_Node_Str")).findFirst().get();
  Stream.of(Field.values()).map(f -> new CheckMenuItem(f.toStringEnum(),false){
{
      this.setOnMouseClicked(() -> {
        if (!selected.get()) {
          m.getItems().forEach(mi -> ((CheckMenuItem)mi).selected.set(false));
          selected.set(true);
          fieldFilter.setNapplyValue(f);
        }
      }
);
    }
  }
).forEach(m.getItems()::add);
  table.columnVisibleMenu.addEventHandler(WINDOW_SHOWN,e -> m.getItems().forEach(mi -> ((CheckMenuItem)mi).selected.set(fieldFilter.getValue().toStringEnum().equals(mi.getText()))));
  table.setOnKeyPressed(e -> {
    if (e.getCode() == ENTER)     playSelected();
 else     if (e.getCode() == ESCAPE)     table.getSelectionModel().clearSelection();
  }
);
  table.setOnDragDetected(e -> {
    if (e.getButton() == PRIMARY && !table.getSelectedItems().isEmpty() && table.isRowFull(table.getRowS(e.getSceneX(),e.getSceneY()))) {
      Dragboard db=table.startDragAndDrop(COPY);
      DragUtil.setItemList(filerListToSelectedNsort(),db);
    }
    e.consume();
  }
);
  table.setColumnResizePolicy(resize -> {
    boolean b=UNCONSTRAINED_RESIZE_POLICY.call(resize);
    table.getColumn("String_Node_Str").ifPresent(i -> i.setPrefWidth(table.calculateIndexColumnWidth()));
    find(table.getColumns(),c -> VALUE == c.getUserData()).ifPresent(c -> {
      double w=table.getColumns().stream().filter(TableColumn::isVisible).mapToDouble(TableColumn::getWidth).sum();
      double itemsHeight=(table.getItems().size() + 1) * table.getFixedCellSize();
      double scrollbar=itemsHeight < table.getHeight() ? 0 : 15;
      c.setPrefWidth(table.getWidth() - (scrollbar + w - c.getWidth()));
    }
);
    return b;
  }
);
  EventStreams.changesOf(table.getSelectedItems()).reduceSuccessions((a,b) -> b,ofMillis(100)).subscribe(c -> {
    if (!sel_lock)     forwardItems(DB.views.getValue(lvl.getValue()));
  }
);
  table.setOnScroll(Event::consume);
}