class FileOverrideSource extends AbstractSource implements OverrideSource, PollableSource<byte[]>, WatchableSource<Path> {

    @Override
    public Optional<ConfigContent.OverrideContent> load() throws ConfigException {
        LOGGER.log(Level.FINE, String.format("Getting content from '%s'.", filePath));

        return FileSourceHelper.readDataAndDigest(filePath)
                .map(dad -> ConfigContent.OverrideContent.builder()
                        .data(OverrideData.create(new InputStreamReader(new ByteArrayInputStream(dad.data()),
                                                                        StandardCharsets.UTF_8)))
                        .stamp(dad.digest())
                        .build());
    }

      FileOverrideSource(Builder builder);

}