code: private String jnlpGetPath( DownloadRequest dreq )
      {
          // fix for 4474021
          // try to manuually generate the filename
          // extract file name
          String path = dreq.getPath();
          String filename = path.substring( path.lastIndexOf( "/" ) + 1 );
          path = path.substring( 0, path.lastIndexOf( "/" ) + 1 );
          String name = filename;
          String ext = null;
  
          if ( filename.lastIndexOf( "." ) != -1 )
          {
              ext = filename.substring( filename.lastIndexOf( "." ) + 1 );
  
              filename = filename.substring( 0, filename.lastIndexOf( "." ) );
  
          }
          if ( dreq.getVersion() != null )
          {
              filename += "__V" + dreq.getVersion();
          }
  
          String[] temp = dreq.getOS();
  
          if ( temp != null )
          {
              for ( String aTemp : temp )
              {
                  filename += "__O" + aTemp;
              }
          }
  
          temp = dreq.getArch();
  
          if ( temp != null )
          {
              for ( String aTemp : temp )
              {
                  filename += "__A" + aTemp;
              }
          }
          temp = dreq.getLocale();
  
          if ( temp != null )
          {
              for ( String aTemp : temp )
              {
                  filename += "__L" + aTemp;
              }
          }
  
          if ( ext != null )
          {
              filename += "." + ext;
          }
  
          path += filename;
  
          return path;
      }
docs: This method scans the directory pointed to by the
  given path and creates a list of ResourcePath elements
  that contains information about all the entries
  <p>
  The version-based information is encoded in the file name
  given the following format:
  <p>
  entry ::= <name> __ ( <options> ). <ext>
  options ::= <option> ( __ <options>  )?
  option  ::= V<version-id>
  | O<os>
  | A<arch>
  | L<locale>
  
  @param dreq TODO
  @return TODO