private static FileObject[] extractHttpFileObjectChildren(FileObject fileObject) throws FileSystemException {
    FileObject[] result;
    HttpFileObject fo = (HttpFileObject) fileObject;
    FileContent content = fo.getContent();
    String contentType = content.getContentInfo().getContentType();
    result = new FileObject[]{ fileObject };
    if (contentType.equalsIgnoreCase("text/html")) {
      try {
        String html = IOUtils.toString(content.getInputStream());
        if (html.toLowerCase().contains("index of")) {
          LOGGER.info("Page contains \"index of\", resolving children");
          //a href="DSC_0410.JPG">
          Pattern p = Pattern.compile("<A .*?href=\"(.*?)\"", Pattern.CASE_INSENSITIVE);
          Matcher matcher = p.matcher(html);
          ArrayList<FileObject> list = new ArrayList<FileObject>();
          while (matcher.find()) {
            String link = matcher.group(1);
            LOGGER.info("Getting children from link {}", link);
            if (StringUtils.isBlank(link)) {
              LOGGER.debug("URL link is blank");
              continue;
            }
            FileObject child;
            URL url = fileObject.getURL();
            child = extractHttpFileObject(link, url);
            list.add(child);
          }
          result = list.toArray(result);
        }
        //TODO extract links
      } catch (Exception e) {
        throw new FileSystemException(e);
      }
    }
    return result;
  }
Returns whether a folder contains a given file

@param folder A folder
@param file   A file
@return whether a folder contains a given file
olv-vfs/src/main/java/pl/otros/vfs/browser/util/VFSUtils.java