code: protected InputStream createSynonymProviderConfigResource() throws IOException
     {
        if (synonymProviderConfigPath != null)
        {
           InputStream fsr;
           // simple sanity check
           String separator = PrivilegedSystemHelper.getProperty("file.separator");
           if (synonymProviderConfigPath.endsWith(PrivilegedSystemHelper.getProperty("file.separator")))
           {
              throw new IOException("Invalid synonymProviderConfigPath: " + synonymProviderConfigPath);
           }
  
           if (cfm == null)
           {
              int lastSeparator = synonymProviderConfigPath.lastIndexOf(separator);
              if (lastSeparator != -1)
              {
                 File root = new File(path, synonymProviderConfigPath.substring(0, lastSeparator));
                 fsr =
                    new BufferedInputStream(PrivilegedFileHelper.fileInputStream(new File(root, synonymProviderConfigPath
                       .substring(lastSeparator + 1))));
              }
              else
              {
                 fsr = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(new File(synonymProviderConfigPath)));
  
              }
              synonymProviderConfigFs = fsr;
           }
           else
           {
              try
              {
                 fsr = cfm.getInputStream(synonymProviderConfigPath);
              }
              catch (Exception e)
              {
                 throw new IOException(e.getLocalizedMessage(), e);
              }
           }
           return fsr;
        }
        else
        {
           // path not configured
           return null;
        }
     }
docs: Creates a file system resource to the synonym provider configuration.
  
  @return a file system resource or <code>null</code> if no path was
  configured.
  @throws IOException if an exception occurs accessing the file
  system.