private ProxyConfig() {
      
      //Check Java Properties
      //Java System Properties always override these settings
      proxyIsSet = readProperties(System.getProperties());
      if(proxyIsSet) return;
      
      //Attempt to Read proxy properties for this app
      try {
         File f = new File(Boot.getUserAppDir(), PROXY_FILENAME);
         String showProxyPrompt = System.getProperty(BOOT_PROXY_PROMPT, "false");
         //If the file doesn't exist and we support UI then prompt the user
         if(!f.exists() && !Boot.isHeadless()) {
            if(showProxyPrompt == null || showProxyPrompt.equals("true")) {
               showProxyDialog();
            }
         }
         else if(f.exists()) {
             Properties props = new Properties();
             props.load(new FileInputStream(f));
             readProperties(props);
             if(useProxy()) {
                 storeProperties(System.getProperties());
             }
         }
      }
      catch(IOException exp) {
         logger.log(Level.SEVERE, exp.getMessage(), exp);
         if(!Boot.isHeadless()) {
            String title = Resources.bundle.getString("boot.error.title");
            String message = Resources.bundle.getString("proxy.read.error ");
            message = MessageFormat.format(message, exp.getMessage());
            Boot.showError(title, null, message, exp);
         }
      }
   }