private WindowsBrowser getBrowserFromRegistryEntry(
     Regor regor, int key, String subKey, String exeKey, Map exesToBrowserObjs)
     throws RegistryErrorException {
   WindowsBrowser winBrowser = null;
   int key2 = regor.openKey(key, subKey);
   List values = regor.listValueNames(key2);
   // boolean fndPath = false;
   for (int x = 0; values != null && x < values.size() && winBrowser == null; x++) {
     byte[] buf = regor.readValue(key2, (String) values.get(x));
     String path = buf != null ? Regor.parseValue(buf) : "";
     String lpath = path.toLowerCase();
     if (lpath.endsWith(exeKey)) {
       winBrowser = (WindowsBrowser) exesToBrowserObjs.get(exeKey);
       // get path to exe and set it in winBrowser object
       StringTokenizer tokenizer = new StringTokenizer(path, "\\", false);
       StringBuffer pathBuf = new StringBuffer();
       int tokCnt = tokenizer.countTokens();
       // we want to ignore the last token
       for (int idx = 1; idx < tokCnt; idx++) {
         pathBuf.append(tokenizer.nextToken());
         pathBuf.append('\\');
       }
       winBrowser.setPathToExe(pathBuf.toString());
     }
   }
   return winBrowser;
 }