class SpaceConfigStorageImpl implements SpaceConfigStorage {

    @Override
    public List<Long> getChangeRequestCommentIds(final String repositoryAlias,
                                                 final Long changeRequestId) {
        List<Long> changeRequestCommentIds = new ArrayList<>();

        final String changeRequestCommentsPathStr = buildChangeRequestCommentFolderPath(repositoryAlias,
                                                                                        changeRequestId);

        if (objectStorage.exists(changeRequestCommentsPathStr)) {
            final Path changeRequestCommentsFolder = objectStorage.getPath(changeRequestCommentsPathStr);

            try (DirectoryStream<Path> directoryStream =
                         ioService.newDirectoryStream(changeRequestCommentsFolder,
                                                      Files::isRegularFile)) {
                directoryStream.forEach(commentFile -> {
                    try {
                        Long id = Long.valueOf(FilenameUtils.getBaseName(commentFile.getFileName().toString()));
                        changeRequestCommentIds.add(id);
                    } catch (NumberFormatException e) {
                        logger.error("Cannot convert folder name to long: ", e);
                    } catch (Exception e) {
                        logger.error("An unexpected exception was thrown: ", e);
                    }
                });
            }
        }

        return changeRequestCommentIds;
    }

    public  SpaceConfigStorageImpl();
    @Inject public  SpaceConfigStorageImpl(final ObjectStorage objectStorage,
                                  final @Named("configIO") IOService ioService);

}