package com.metacodestudio.hotsuploader;

import com.metacodestudio.hotsuploader.controllers.HomeController;
import io.datafx.controller.flow.Flow;
import io.datafx.controller.flow.FlowHandler;
import io.datafx.controller.flow.container.DefaultFlowContainer;
import io.datafx.controller.flow.context.ViewFlowContext;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;


public class Client extends Application {

    public static void main(String[] args) {
        Application.launch(Client.class, args);
    }

    @Override
    public void start(final Stage primaryStage) throws Exception {
        Flow flow = new Flow(HomeController.class);
        FlowHandler flowHandler = flow.createHandler(new ViewFlowContext());
        DefaultFlowContainer container = new DefaultFlowContainer();
        StackPane pane = flowHandler.start(container);
        primaryStage.setScene(new Scene(pane));
        primaryStage.setOnCloseRequest(event -> System.exit(0));
        primaryStage.show();
    }

}

@@ -442,16 +442,38 @@
 Stage;%0A%0A
+import java.io.File;%0A%0A
 %0Apublic 
@@ -517,93 +517,1129 @@
    p
-ublic static void main(String%5B%5D args) %7B%0A        Application.launch(Client.class, args
+rivate static File hotsRoot;%0A%0A    public static File getHotsRoot() %7B%0A        return hotsRoot;%0A    %7D%0A%0A    public static void main(String%5B%5D args) %7B%0A        hotsRoot = getRootDirectory();%0A        Application.launch(Client.class, args);%0A    %7D%0A%0A    private static File getRootDirectory() %7B%0A        StringBuilder builder = new StringBuilder(System.getProperty(%22user.home%22));%0A        if (isWindows()) %7B%0A            builder.append(%22%5C%5CDocuments%5C%5CHeroes of the Storm%5C%5CAccounts%5C%5C%22);%0A        %7D else if (isMacintosh()) %7B%0A            builder.append(%22/Library/Application Support/Blizzard/Heroes of the Storm/Accounts/%22);%0A        %7D else %7B%0A            throw new UnsupportedOperationException(%22This application requires Windows or Macintosh OSX to run%22);%0A        %7D%0A        return new File(builder.toString());%0A    %7D%0A%0A    private static boolean isMacintosh() %7B%0A        // TODO DETERMINE MACINTOSH PROPERTIES%0A        throw new UnsupportedOperationException(%22Macintosh check not yet implemented%22);%0A    %7D%0A%0A    private static boolean isWindows() %7B%0A        String osName = System.getProperty(%22os.name%22);%0A        return osName.contains(%22Windows%22
 );%0A 

Add reference to root file