code: private DownloadResponse constructResponse( JnlpResource jnlpres, DownloadRequest dreq )
              throws IOException
      {
          String path = jnlpres.getPath();
          if ( jnlpres.isJnlpFile() )
          {
              // It is a JNLP file. It need to be macro-expanded, so it is handled differently
              boolean supportQuery = JarDiffHandler.isJavawsVersion( dreq, "1.5+" );
              _log.addDebug( "SupportQuery in Href: " + supportQuery );
  
              // only support query string in href for 1.5 and above
              if ( supportQuery )
              {
                  return _jnlpFileHandler.getJnlpFileEx( jnlpres, dreq );
              }
              else
              {
                  return _jnlpFileHandler.getJnlpFile( jnlpres, dreq );
              }
          }
  
          // Check if a JARDiff can be returned
          if ( dreq.getCurrentVersionId() != null && jnlpres.isJarFile() )
          {
              DownloadResponse response = _jarDiffHandler.getJarDiffEntry( _resourceCatalog, dreq, jnlpres );
              if ( response != null )
              {
                  _log.addInformational( "servlet.log.info.jardiff.response" );
                  return response;
              }
          }
  
          // check and see if we can use pack resource
          JnlpResource jr =
                  new JnlpResource( getServletContext(), jnlpres.getName(), jnlpres.getVersionId(), jnlpres.getOSList(),
                                    jnlpres.getArchList(), jnlpres.getLocaleList(), jnlpres.getPath(),
                                    jnlpres.getReturnVersionId(), dreq.getEncoding() );
  
          _log.addDebug( "Real resource returned: " + jr );
  
          // Return WAR file resource
          return DownloadResponse.getFileDownloadResponse( jr.getResource(), jr.getMimeType(), jr.getLastModified(),
                                                           jr.getReturnVersionId() );
      }
docs: Given a DownloadPath and a DownloadRequest, it constructs the data stream to return
  to the requester