docs: public static String transferURLStream(String strURL, String strFilename, Reader in, Writer out)
      {
          String strMessage = null;
          URL url = null;
          try {
              InputStream inStream = null;
              if (in == null)
              {
                  url = new URL(strURL);
                  inStream = url.openStream();
                  in = new BufferedReader(new InputStreamReader(inStream));
              }
              Writer outTemp = out;
              if (outTemp == null)
              {
                  if ((strFilename == null) || (strFilename.length() == 0))
                      outTemp = new StringWriter();
                  else
                  {
                  	File file = new File(strFilename);
                  	file = file.getParentFile();
                  	if (!file.exists())
                  		file.mkdirs();
                      outTemp = new FileWriter(strFilename);
                  }
              }
              Utility.transferStream(in, outTemp);
              if (out == null)
              {
                  outTemp.flush();
                  outTemp.close();
                  if ((strFilename == null) || (strFilename.length() == 0))
                      strMessage = ((StringWriter)outTemp).getBuffer().toString();
              }
              in.close();
              if (inStream != null)
                  inStream.close();
          } catch (MalformedURLException ex)  {
              ex.printStackTrace();
          } catch (IOException ex) {
              ex.printStackTrace();
          }
          return strMessage;
      }