code: @Override
    public String []list(String path) throws IOException
    {
      if (path.startsWith("/")) {
        path = path.substring(1);
      }
      
      if (! path.endsWith("/")) {
        path = path + "/";
      }
  
      ArrayList<String> names = new ArrayList<>();
      
      try (ZipInputStream zIn = new ZipInputStream(getBacking().openRead())) {
        ZipEntry entry;
        
        while ((entry = zIn.getNextEntry()) != null) {
          String name = entry.getName();
  
          if (name.startsWith(path)) {
            String tail = name.substring(path.length());
            int p = tail.indexOf('/');
            
            if (p >= 0) {
              tail = tail.substring(0, p);
            }
            
            if (! tail.equals("") && ! names.contains(tail)) {
              names.add(tail);
            }
          }
        }
      }
      
      String []list = new String[names.size()];
      
      names.toArray(list);
      
      return list;
    }
docs: Lists all the files in this directory.