@SuppressWarnings("unchecked")
    public final Group createHighscore() {

        try {
            SlidingPuzzleHighscore.readXML();
            // new PuzzleHighscore("TEST", "999");
            // PuzzleHighscore.writeXML();
        } catch (Exception e) {
            e.printStackTrace();
        }

        final int i20 = 20;
        final Label label = new Label("Highscores");
        label.setFont(new Font("Arial", i20));

        TableView<SlidingPuzzleHighscore> tableView =
                new TableView<SlidingPuzzleHighscore>();

        tableView.setEditable(false);

        ObservableList<SlidingPuzzleHighscore> observableList = FXCollections
                .observableList(SlidingPuzzleHighscore.getPuzzleHighscores());

        TableColumn<SlidingPuzzleHighscore, String> scoreColumn =
                new TableColumn<SlidingPuzzleHighscore, String>(
                        "Score");
        scoreColumn.setCellValueFactory(
                new PropertyValueFactory<SlidingPuzzleHighscore, String>(
                        "userScore"));
        TableColumn<SlidingPuzzleHighscore, String> userColumn =
                new TableColumn<SlidingPuzzleHighscore, String>(
                        "User");
        userColumn.setCellValueFactory(
                new PropertyValueFactory<SlidingPuzzleHighscore, String>(
                        "userName"));

        tableView.setItems(observableList);

        scoreColumn.setSortType(SortType.DESCENDING);

        tableView.getColumns().addAll(scoreColumn, userColumn);

        final int i5 = 5;
        final int i10 = 10;

        final VBox highscoreVBox = new VBox();
        highscoreVBox.setSpacing(i5);
        highscoreVBox.setPadding(new Insets(i10, i10, i10, i10));
        highscoreVBox.getChildren().addAll(label, tableView);

        Group highscoreBox = new Group(highscoreVBox);

        return highscoreBox;
    }