class ReadOnlyFilteredCOSStream extends COSStream {

    public static ReadOnlyFilteredCOSStream readOnly(COSStream existing) throws IOException {
        requireNotNullArg(existing, "input stream cannot be null");
        // let's make sure we get the unencrypted and filtered
        existing.setEncryptor(null);
        return new ReadOnlyFilteredCOSStream(existing, () -> existing.getFilteredStream(),
                existing.getFilteredLength());
    }

      ReadOnlyFilteredCOSStream(COSDictionary existingDictionary, InputStream stream, long length);
    public  ReadOnlyFilteredCOSStream(COSDictionary existingDictionary, InputStreamSupplier<InputStream> stream,
            long length);

}