class PerformanceService {

    List<Path> listSipDirectory() throws IOException {
        List<Path> paths = new ArrayList<>();

        Files.walkFileTree(sipDirectory, new SimpleFileVisitor<Path>() {
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                if (file.toString().toLowerCase().endsWith("zip")) {
                    paths.add(sipDirectory.relativize(file));
                }
                return FileVisitResult.CONTINUE;
            }
        });
        return paths;
    }

    public  PerformanceService(Path sipDirectory, Path performanceReportDirectory);
      PerformanceService(IngestExternalClientFactory ingestClientFactory,
        AdminExternalClientFactory adminClientFactory, Path sipDirectory,
        Path performanceReportDirectory, UserInterfaceTransactionManager userInterfaceTransactionManager);

}