public Optional<ByteOrderMark> getByteOrderMark() {
        try {
            return Optional.ofNullable(bomInputStream.getBOM());
        } catch (IOException e) {
            throw new RuntimeException("Error determining if input stream has a BOM: " + e.getMessage(), e);
        }
    }
@return The charset used. This may differ to the one provided e.g. if the provided charset was
UTF-16 then it may get changed to UTF-16BE when the BOM is detected.
stroom-data/stroom-data-store-impl/src/main/java/stroom/data/store/impl/CharReader.java