class ClasspathOverrideSource extends AbstractSource implements OverrideSource {

    @Override
    public Optional<OverrideContent> load() throws ConfigException {
        if (null == resourceUrl) {
            return Optional.empty();
        }

        InputStream inputStream;
        try {
            inputStream = resourceUrl.openStream();
        } catch (IOException e) {
            throw new ConfigException("Failed to read configuration from classpath, resource: " + resource, e);
        }

        OverrideData data = OverrideData.create(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
        return Optional.of(OverrideContent.builder()
                           .data(data)
                           .build());
    }

      ClasspathOverrideSource(Builder builder);

}