private void parseFile() {

        byte[] saveFileContent = FileUtil.readFile(savegame);

        if(saveFileContent == null)
            return;

        this.saveFileAdapter = new SaveFileAdapterAndroid(saveFileContent);

        try {
            this.saveFileAdapter.decrypt();
        } catch(Exception e) {
            MessageUtil.error("Couldn't decrypt savegame: " + e.getMessage());
            return;
        }

        this.editorPanel.removeAll();
        this.editorPanel.setLayout(new BorderLayout());
        try {
            if(this.editorMode == EditorMode.SIMPLE) {
                this.editor = new SimpleEditor(this.saveFileAdapter.getSaveGame());
            } else {
                this.editor = new XMLTextEditor(this.saveFileAdapter.getSaveGame());
            }
            this.editorPanel.add(this.editor);
        } catch(Exception e) {
            MessageUtil.error("XML Invalid, probably unknown savegame type: " + e.getMessage());

            this.editorPanel.revalidate();
            this.gameLoaded = false;
            updateButtonStates();
            return;
        }
        this.editorPanel.revalidate();
        this.gameLoaded = true;
        MessageUtil.info("Successfully loaded savegame");
        updateButtonStates();
    }