code: private void getPfile() throws ConfigException {
      if (pfile != null) {
        return;
      }
  
      String pfileUri = System.getProperty(pfilePname);
  
      if (pfileUri == null) {
        throw new ConfigException("No property with name \"" +
                                          pfilePname + "\"");
      }
  
      try {
  /*
        URI uri;
        uri = new URI(pfileUri);
  
        String scheme = uri.getScheme();
  
        if ((scheme == null) || (scheme.equals("file"))) {
          */
        String path = pfileUri;
        File f = new File(path);
        if (!f.exists()) {
          throw new ConfigException("No configuration pfile at " + path);
        }
  
        if (!f.isFile()) {
          throw new ConfigException(path + " is not a file");
        }
  
        final Util.PropertiesPropertyFetcher ppf =
                new Util.PropertiesPropertyFetcher(System.getProperties());
  
          synchronized (pfileLock) {
            if (pfile != null) {
              // Someone beat us to it
              return;
            }
  
            pfile = new Properties();
            pfile.load(new FileReader(f));
  
            /* Do any property replacement on values */
            Set pfileNames = pfile.keySet();
  
            for (Object o: pfileNames) {
              pfile.put(o, Util.propertyReplace(pfile.getProperty((String)o),
                                                ppf));
            }
  
            configBase = pfile.getProperty(configBasePname);
  
            URI uri = new URI(configBase);
            String scheme = uri.getScheme();
  
            if ((scheme == null) || (scheme.equals("file"))) {
              configBase = uri.getPath();
              configBaseIsFile = true;
            } else if (httpSchemes.contains(scheme)) {
              configBaseIsHttp = true;
            } else {
              throw new ConfigException("Unsupported scheme in " + uri);
            }
          }
  
  /*        return;
        }
  
        throw new ConfigException("Unsupported configuration pfile: " + uri);
        */
      } catch (ConfigException ce) {
        throw ce;
      } catch (Throwable t) {
        throw new ConfigException(t);
      }
    }
docs: /* ====================================================================
  Private methods
  ====================================================================