docs: public List<String> listDocuments(String location) throws Exception
      {
          FileObject root = getFileObject( location );
          if (!root.exists()) return Collections.emptyList();
  
          List<String> names = new ArrayList<String>();
          if (isDirectory(root))
          {
              for (FileObject child : root.findFiles(NOT_HIDDEN_FILE_TYPE_SELECTOR))
              {
                  names.addAll( listDocuments(child.getName().getURI()));
              }
          }
          else
          {
              names.add(root.getName().getURI());
          }
          return names;
      }