@Override public List<AppFileSystem> getFileSystems(AppFileSystemProviderContext context) { Objects.requireNonNull(context); Optional<RemoteServiceConfig> config = configSupplier.get(); if (config.isPresent()) { URI uri = config.get().getRestUri(); try { return RemoteAppStorage.getFileSystemNames(uri, context.getToken()).stream() .map(fileSystemName -> { RemoteAppStorage storage = new RemoteAppStorage(fileSystemName, uri, context.getToken()); RemoteListenableAppStorage listenableStorage = new RemoteListenableAppStorage(storage, uri); RemoteTaskMonitor taskMonitor = new RemoteTaskMonitor(fileSystemName, uri, context.getToken()); return new AppFileSystem(fileSystemName, true, listenableStorage, taskMonitor); }) .collect(Collectors.toList()); } catch (ProcessingException e) { LOGGER.warn(e.toString()); return Collections.emptyList(); } } else { LOGGER.warn("Remote service config is missing"); return Collections.emptyList(); } } }