class ClasspathConfigSource extends AbstractConfigSource implements ConfigSource,
                                                                           ParsableSource {

    @Override
    public Optional<Content> 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);
        }

        Content.Builder builder = Content.builder()
                .data(inputStream);

        mediaType.get().ifPresent(builder::mediaType);

        return Optional.of(builder.build());
    }

      ClasspathConfigSource(Builder builder);

}