code: @Override
  	public InputStream getResourceAsStream(String resourceName, boolean processingBundle)
  			throws ResourceNotFoundException {
  
  		if (ThreadLocalJawrContext.isInterruptingProcessingBundle()) {
  			throw new InterruptBundlingProcessException();
  		}
  
  		generatorRegistry.loadGeneratorIfNeeded(resourceName);
  		InputStream is = null;
  
  		String resourceExtension = FileNameUtils.getExtension(resourceName);
  		boolean generatedPath = generatorRegistry.isPathGenerated(resourceName);
  		if (generatedPath || allowedExtensions.contains(resourceExtension.toLowerCase())) {
  			List<StreamResourceReader> list = new ArrayList<>();
  			list.addAll(streamResourceReaders);
  			for (StreamResourceReader rsReader : list) {
  				if (!(rsReader instanceof ResourceGenerator)
  						|| ((ResourceGenerator) rsReader).getResolver().matchPath(resourceName)) {
  					try {
  						is = rsReader.getResourceAsStream(resourceName);
  					} catch (Exception e) {
  						if (LOGGER.isDebugEnabled()) {
  							LOGGER.debug("An exception occured while trying to read resource '" + resourceName
  									+ "'. Continuing with other readers. Error : ", e);
  						} else if (LOGGER.isInfoEnabled()) {
  							LOGGER.info("An exception occured while trying to read resource '" + resourceName
  									+ "'. Continuing with other readers. Error : " + e.getMessage());
  						}
  					}
  					if (is != null) {
  						break;
  					}
  				}
  			}
  		} else {
  			LOGGER.warn("The resource '" + resourceName + "' will not be read as its extension is not an allowed one.");
  		}
  		if (is == null) {
  			throw new ResourceNotFoundException(resourceName);
  		}
  
  		return is;
  	}
docs: /*
  (non-Javadoc)
  
  @see net.jawr.web.resource.handler.reader.ResourceReaderHandler#
  getResourceAsStream(net.jawr.web.resource.bundle.JoinableResourceBundle,
  java.lang.String, boolean)