[Demonstration 1]

[Buggy Method]
static List<TilesWithOpenings> loadAndGetList() {
    List<TilesWithOpenings> sections = new ArrayList<>();
    FileHandle dir = Gdx.files.internal("sections");
    System.out.println(dir);
    for (FileHandle file : dir.list()) {
        System.out.print(file.toString());
        if (file.name().contains(".sec")) {
            sections.add(parseSection(file.file().getAbsoluteFile()));
        }
    }
    System.out.println("Loaded " + sections.size() + " TilesWithOpenings-files!");
    return sections;
}

[Buggy Hunk]
System.out.print(file.toString());

[Patch]
System.out.print(new FileHandle(file.toString()).file().getAbsolutePath());

[Demonstration 2]

[Buggy Method]
private boolean hasTopTaskStartDateEarlierThanBottomTaskStartDate(Task topTask, Task bottomTask) {
    return (((topTask.getStartDate() != null) && (bottomTask.getStartDate() != null)) && topTask.getStartDate().isBefore(bottomTask.getStartDate()));
}

[Buggy Hunk]
&& topTask.getStartDate().isBefore(bottomTask.getStartDate()));

[Patch]
&& topTask.getStartDate().isAfter(bottomTask.getStartDate()));

[Demonstration 3]

[Buggy Method]
@Override
public void initialize(URL url, ResourceBundle rb) {
    thisController = this;
    // binding the sides to the pseudo class empty
    final PseudoClass empty = PseudoClass.getPseudoClass("empty");
    BindingsUtils.bindNodeToPseudoClass(empty, leftVBox, new SimpleListProperty<Node>(leftVBox.getChildren()).emptyProperty());
    BindingsUtils.bindNodeToPseudoClass(empty, rightVBox, new SimpleListProperty<Node>(rightVBox.getChildren()).emptyProperty());
    /*
        BooleanBinding binding = Bindings.isEmpty(leftVBox.getChildren()).addListener((obs,oldValue,newValue)->{

            leftVBox.pseudoClassStateChanged(empty, newValue);
        });*/
    leftVBox.pseudoClassStateChanged(empty, true);
    Bindings.isEmpty(rightVBox.getChildren()).addListener((obs, oldValue, newValue) -> {
        rightVBox.pseudoClassStateChanged(empty, newValue);
    });
    loadingScreen.setDefaultPane(centerStackPane);
    initMenuAction();
    hideSideMenu();
    // the first stack loads ImageJ
    final Task task1 = imageJStarter;
    // the third one takes of setting up the interface and the context
    final Task<Boolean> task3 = new Task<Boolean>() {

        @Override
        protected Boolean call() throws Exception {
            //FXUtilities.runAndWait(() -> uiPluginService.getUiPluginList());
            logger.info("Loading widgets done.");
            // bind widget to controller
            startContextManager();
            bindWidgetsToControllers();
            return true;
        }
    };
    // submitting the task to the loading screen
    loadingScreen.submitTask(task1, false);
    // when the first task is over
    task1.setOnSucceeded(result -> {
        logger.info("ImageJ Loading done");
        //injecting this controller with image services
        imageJ.getContext().inject(thisController);
        // the second one loads the FXWidgets
        final Task task2 = uiPluginService.loadAll(false);
        // registering the controllers
        registerWidgetControllers();
        // starting the second task
        ImageJFX.getThreadPool().submit(task2);
        // when the second task is over, starting the third task
        task2.setOnSucceeded(resul -> ImageJFX.getThreadPool().submit(task3));
        loadingScreen.submitTask(task2, false);
        loadingScreen.submitTask(task3, false);
    });
    task3.setOnSucceeded(result -> {
        // entering the right context
        uiContextService.enter(UiContexts.list(UiContexts.WEB_APPLICATION, UiContexts.DEBUG));
        // showing the intro app
        appService.showApp(WebApps.PROJECT_WIZARD);
        // updating the context
        uiContextService.update();
        // sequence over
        logger.info("Start over");
    });
    // starting the first task
    ImageJFX.getThreadPool().submit(task1);
    sideMenu.setTranslateZ(0);
    mainAnchorPane.addEventHandler(MouseEvent.MOUSE_CLICKED, event -> {
        if (event.getButton() == MouseButton.PRIMARY && event.getSceneX() >= sideMenu.getWidth() && sideMenu.getTranslateX() > -1 * sideMenu.getWidth()) {
            hideSideMenu();
        }
    });
}

[Buggy Hunk]
hideSideMenu();

[Patch]
Platform.runLater(()->hideSideMenu());