Program: 36498
Project: 36498
Buggy source:
@IsAction(name="String_Node_Str",desc="String_Node_Str",keys="String_Node_Str") public static void showSearch(){
  DecoratedTextField tf=new DecoratedTextField();
  Region clearButton=new Region();
  clearButton.getStyleClass().addAll("String_Node_Str");
  StackPane clearB=new StackPane(clearButton);
  clearB.getStyleClass().addAll("String_Node_Str");
  clearB.setOpacity(0.0);
  clearB.setCursor(Cursor.DEFAULT);
  clearB.setOnMouseReleased(e -> tf.clear());
  clearB.managedProperty().bind(tf.editableProperty());
  clearB.visibleProperty().bind(tf.editableProperty());
  tf.right.set(clearB);
  FadeTransition fade=new FadeTransition(millis(250),clearB);
  tf.textProperty().addListener(new InvalidationListener(){
    @Override public void invalidated(    Observable arg0){
      String text=tf.getText();
      boolean isTextEmpty=text == null || text.isEmpty();
      boolean isButtonVisible=fade.getNode().getOpacity() > 0;
      if (isTextEmpty && isButtonVisible) {
        setButtonVisible(false);
      }
 else       if (!isTextEmpty && !isButtonVisible) {
        setButtonVisible(true);
      }
    }
    private void setButtonVisible(    boolean visible){
      fade.setFromValue(visible ? 0.0 : 1.0);
      fade.setToValue(visible ? 1.0 : 0.0);
      fade.play();
    }
  }
);
  tf.left.set(new Icon(FontAwesomeIcon.SEARCH));
  tf.left.get().setMouseTransparent(true);
  StringProperty text=tf.textProperty();
  new ConfigSearch(tf,APP.configSearchHistory,p -> APP.configuration.getFields(f -> containsIgnoreCase(f.getGuiName(),p.getUserText())));
  PopOver<TextField> p=new PopOver<>(tf);
  p.title.set("String_Node_Str");
  p.setAutoHide(true);
  p.show(PopOver.ScreenPos.App_Center);
}

Fixed version (ground truth):
@IsAction(name="String_Node_Str",desc="String_Node_Str",keys="String_Node_Str") public static void showSearch(){
  DecoratedTextField tf=new DecoratedTextField();
  Region clearButton=new Region();
  clearButton.getStyleClass().addAll("String_Node_Str");
  StackPane clearB=new StackPane(clearButton);
  clearB.getStyleClass().addAll("String_Node_Str");
  clearB.setOpacity(0.0);
  clearB.setCursor(Cursor.DEFAULT);
  clearB.setOnMouseReleased(e -> tf.clear());
  clearB.managedProperty().bind(tf.editableProperty());
  clearB.visibleProperty().bind(tf.editableProperty());
  tf.right.set(clearB);
  FadeTransition fade=new FadeTransition(millis(250),clearB);
  tf.textProperty().addListener(new InvalidationListener(){
    @Override public void invalidated(    Observable arg0){
      String text=tf.getText();
      boolean isTextEmpty=text == null || text.isEmpty();
      boolean isButtonVisible=fade.getNode().getOpacity() > 0;
      if (isTextEmpty && isButtonVisible) {
        setButtonVisible(false);
      }
 else       if (!isTextEmpty && !isButtonVisible) {
        setButtonVisible(true);
      }
    }
    private void setButtonVisible(    boolean visible){
      fade.setFromValue(visible ? 0.0 : 1.0);
      fade.setToValue(visible ? 1.0 : 0.0);
      fade.play();
    }
  }
);
  tf.left.set(new Icon(FontAwesomeIcon.SEARCH));
  tf.left.get().setMouseTransparent(true);
  StringProperty text=tf.textProperty();
  new ConfigSearch(tf,APP.configSearchHistory,p -> APP.configuration.getFields(f -> containsNoCase(f.getGuiName(),p.getUserText())));
  PopOver<TextField> p=new PopOver<>(tf);
  p.title.set("String_Node_Str");
  p.setAutoHide(true);
  p.show(PopOver.ScreenPos.App_Center);
}