code: @FFDCIgnore({ PrivilegedActionException.class })
      protected InputStream getInputStream(final File f, String fileSystemSelector,  String location, String classLoadingSelector ) throws IOException {      
          // check file system first like we used to do
          if (f != null) {
              InputStream is = null;
              try { 
                  is = (FileInputStream) AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
                      @Override
                      public Object run() throws Exception {
                          if (f.exists()) {
                              return new FileInputStream(f);
                          } else {
                              return null;
                          }
                      }
                  });
                  
              } catch (PrivilegedActionException e1) {
              }
              if (is != null) { 
                  locationUsed = fileSystemSelector;
                  if (tc.isDebugEnabled()) {
                      Tr.debug(tc, "input stream obtained from file system and locationUsed set to: "+ locationUsed);
                  }
                  return is;
              }
          }        
          // do the expensive classpath search
          // performant: we're avoiding calling getResource if entry was previously cached.
          URL u = Thread.currentThread().getContextClassLoader().getResource(location);  
          locationUsed = classLoadingSelector;
          if (tc.isDebugEnabled()) {
              Tr.debug(tc, "input stream obtained from classloader and  locationUsed set to: "+ locationUsed);
          }
          if (u != null) {            
              return u.openStream();
          }
          return null;
      }
docs: open an input stream to either a file on the file system or a url on the classpath.
  Update the locationUsed class variable to note where we got the stream from so results of reading it can be cached properly