    public void init() {
		try {
			RFX_FOLDER = new File(getRfxFolderPath()); 
			BIN_FOLDER = new File(getBinFolderPath());
			DESKTOP_FOLDER = new File(getDesktopFolderPath());
			DOCUMENT_BASE = getDocumentBase();
			CODE_BASE = getCodeBase();
			POST_URL = getParameter("post_url");
			API_KEY = getParameter("api_key");
			HEADLESS = !getParameter("headless").isEmpty() && getParameter("headless").equals("true"); 
			GRAPHICS_CONFIG = getGraphicsConfiguration();
			GraphicsDevice myScreen = GRAPHICS_CONFIG.getDevice();
			GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
			GraphicsDevice[] allScreens = env.getScreenDevices();
			int myScreenIndex = -1;
			for (int i = 0; i < allScreens.length; i++) {
			    if (allScreens[i].equals(myScreen))
			    {
			        myScreenIndex = i;
			        break;
			    }
			}
			System.out.println("Applet window is on screen" + myScreenIndex);
			System.out.println(getAppletInfo());			 
			if( RFX_FOLDER.exists() && !RFX_FOLDER.isDirectory() && !RFX_FOLDER.delete() )
		        throw new IOException("Could not delete file for folder: " + RFX_FOLDER.getAbsolutePath());
			if( !RFX_FOLDER.exists() && !RFX_FOLDER.mkdir() )
		        throw new IOException("Could not create folder: " + RFX_FOLDER.getAbsolutePath());
			System.out.println("Have access to folder: "+RFX_FOLDER.getAbsolutePath()+File.separator);
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                	if(IS_MAC)
                		controller = new MacController();
                	else if(IS_LINUX)
                		controller = new LinuxController();
                	else if(IS_WINDOWS)
                		controller = new WindowsController();
                	else 
                		System.err.println("Want to launch controller but don't which operating system this is.");
                }
            });
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                	if(controller != null)
                		controller.setupExtensions();
                }
            });
		} catch (IOException e1) {
			System.err.println("Could not create temporary folder!");
			e1.printStackTrace();
		}	catch (Exception e) {
            System.err.println("Could not create GUI!");
            e.printStackTrace();
        }
    }

    public void init() {
		try {
			RFX_FOLDER = new File(getRfxFolderPath()); 
			BIN_FOLDER = new File(getBinFolderPath());
			DESKTOP_FOLDER = new File(getDesktopFolderPath());
			DOCUMENT_BASE = getDocumentBase();
			CODE_BASE = getCodeBase();
			POST_URL = getParameter("post_url");
			API_KEY = getParameter("api_key");
			if(getParameter("headless") != null)
				HEADLESS = !getParameter("headless").isEmpty() && getParameter("headless").equals("true"); 
			GRAPHICS_CONFIG = getGraphicsConfiguration();
			GraphicsDevice myScreen = GRAPHICS_CONFIG.getDevice();
			GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
			GraphicsDevice[] allScreens = env.getScreenDevices();
			int myScreenIndex = -1;
			for (int i = 0; i < allScreens.length; i++) {
			    if (allScreens[i].equals(myScreen))
			    {
			        myScreenIndex = i;
			        break;
			    }
			}
			System.out.println("Applet window is on screen" + myScreenIndex);
			System.out.println(getAppletInfo());			 
			if( RFX_FOLDER.exists() && !RFX_FOLDER.isDirectory() && !RFX_FOLDER.delete() )
		        throw new IOException("Could not delete file for folder: " + RFX_FOLDER.getAbsolutePath());
			if( !RFX_FOLDER.exists() && !RFX_FOLDER.mkdir() )
		        throw new IOException("Could not create folder: " + RFX_FOLDER.getAbsolutePath());
			System.out.println("Have access to folder: "+RFX_FOLDER.getAbsolutePath()+File.separator);
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                	if(IS_MAC)
                		controller = new MacController();
                	else if(IS_LINUX)
                		controller = new LinuxController();
                	else if(IS_WINDOWS)
                		controller = new WindowsController();
                	else 
                		System.err.println("Want to launch controller but don't which operating system this is.");
                }
            });
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                	if(controller != null)
                		controller.setupExtensions();
                }
            });
		} catch (IOException e1) {
			System.err.println("Could not create temporary folder!");
			e1.printStackTrace();
		}	catch (Exception e) {
            System.err.println("Could not create GUI!");
            e.printStackTrace();
        }
    }
