code: protected GlobusInputStream getInputStream()
          throws Exception {
  
          GlobusInputStream in = null;
          String fromP         = srcUrl.getProtocol();
          String fromFile      = srcUrl.getPath();
  
          if (fromP.equalsIgnoreCase("file")) {
              fromFile = URLDecoder.decode(fromFile);
              in = new GlobusFileInputStream(fromFile);
          } else if (fromP.equalsIgnoreCase("ftp")) {
              fromFile = URLDecoder.decode(fromFile);
              in = new FTPInputStream(srcUrl.getHost(),
                                      srcUrl.getPort(),
                                      srcUrl.getUser(),
                                      srcUrl.getPwd(),
                                      fromFile);
          } else if (fromP.equalsIgnoreCase("gsiftp") ||
                     fromP.equalsIgnoreCase("gridftp")) {
              Authorization auth = getSourceAuthorization();
              if (auth == null) {
                  auth = HostAuthorization.getInstance();
              }
              fromFile = URLDecoder.decode(fromFile);
              in = new GridFTPInputStream(getSourceCredentials(),
                                          auth,
                                          srcUrl.getHost(),
                                          srcUrl.getPort(),
                                          fromFile,
                                          getDCAU());
  
          } else if (fromP.equalsIgnoreCase("https")) {
              Authorization auth = getSourceAuthorization();
              if (auth == null) {
                  auth = SelfAuthorization.getInstance();
              }
              in = new GassInputStream(getSourceCredentials(),
                                       auth,
                                       srcUrl.getHost(),
                                       srcUrl.getPort(),
                                       fromFile);
          } else if (fromP.equalsIgnoreCase("http")) {
              in = new HTTPInputStream(srcUrl.getHost(),
                                       srcUrl.getPort(),
                                       fromFile);
          } else {
              throw new Exception("Source protocol: " + fromP +
                                  " not supported!");
          }
  
          return in;
      }
docs: Returns input stream based on the source url