@Override
 public List<Path> listFiles() {
   final DirectoryStream<org.uberfire.java.nio.file.Path> stream =
       ioService.newDirectoryStream(
           root,
           new DirectoryStream.Filter<org.uberfire.java.nio.file.Path>() {
             @Override
             public boolean accept(org.uberfire.java.nio.file.Path entry) throws IOException {
               return typeDefinition.accept(Paths.convert(entry));
             }
           });
   final List<Path> files = new ArrayList<Path>();
   final Iterator<org.uberfire.java.nio.file.Path> itr = stream.iterator();
   while (itr.hasNext()) {
     files.add(Paths.convert(itr.next()));
   }
   return files;
 }