You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ti...@apache.org on 2023/06/11 10:36:05 UTC

[tika] branch main updated: TIKA-4066: replace deprecated CloseShieldInputStream constructor

This is an automated email from the ASF dual-hosted git repository.

tilman pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new d4e2bd084 TIKA-4066: replace deprecated CloseShieldInputStream constructor
d4e2bd084 is described below

commit d4e2bd084ab9e6901b6aa283499effc7b3df8748
Author: Tilman Hausherr <ti...@apache.org>
AuthorDate: Sun Jun 11 12:35:55 2023 +0200

    TIKA-4066: replace deprecated CloseShieldInputStream constructor
---
 tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java             | 2 +-
 .../src/main/java/org/apache/tika/detect/XmlRootExtractor.java      | 2 +-
 .../org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java | 2 +-
 tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java   | 2 +-
 .../src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java | 2 +-
 .../src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java    | 6 +++---
 .../java/org/apache/tika/parser/apple/AppleSingleFileParser.java    | 2 +-
 .../main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java  | 2 +-
 .../org/apache/tika/parser/iwork/iwana/IWork13PackageParser.java    | 2 +-
 .../src/main/java/org/apache/tika/parser/dgn/DGN8Parser.java        | 4 ++--
 .../src/main/java/org/apache/tika/parser/code/SourceCodeParser.java | 2 +-
 .../src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java    | 2 +-
 .../src/main/java/org/apache/tika/parser/html/HtmlParser.java       | 2 +-
 .../src/main/java/org/apache/tika/parser/image/ImageParser.java     | 2 +-
 .../main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java   | 2 +-
 .../main/java/org/apache/tika/parser/microsoft/OfficeParser.java    | 4 ++--
 .../apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java   | 2 +-
 .../parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java   | 4 ++--
 .../tika/parser/microsoft/ooxml/SXWPFWordExtractorDecorator.java    | 2 +-
 .../tika/parser/microsoft/ooxml/xps/XPSExtractorDecorator.java      | 6 +++---
 .../parser/microsoft/ooxml/xwpf/XWPFEventBasedWordExtractor.java    | 2 +-
 .../tika/parser/microsoft/ooxml/xwpf/ml2006/Word2006MLParser.java   | 2 +-
 .../org/apache/tika/parser/microsoft/xml/AbstractXML2003Parser.java | 2 +-
 .../src/main/java/org/apache/tika/parser/dif/DIFParser.java         | 2 +-
 .../main/java/org/apache/tika/parser/epub/EpubContentParser.java    | 2 +-
 .../src/main/java/org/apache/tika/parser/epub/EpubParser.java       | 2 +-
 .../main/java/org/apache/tika/parser/hwp/HwpTextExtractorV5.java    | 2 +-
 .../apache/tika/parser/indesign/ContentAndMetadataExtractor.java    | 2 +-
 .../src/main/java/org/apache/tika/parser/mif/MIFParser.java         | 2 +-
 .../java/org/apache/tika/parser/odf/FlatOpenDocumentParser.java     | 2 +-
 .../java/org/apache/tika/parser/odf/OpenDocumentContentParser.java  | 2 +-
 .../main/java/org/apache/tika/parser/odf/OpenDocumentParser.java    | 4 ++--
 .../src/main/java/org/apache/tika/parser/feed/FeedParser.java       | 2 +-
 .../src/main/java/org/apache/tika/parser/pdf/PDFParser.java         | 4 ++--
 .../src/main/java/org/apache/tika/parser/pkg/CompressorParser.java  | 4 ++--
 .../src/main/java/org/apache/tika/parser/pkg/PackageParser.java     | 4 ++--
 .../src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java  | 6 +++---
 .../src/main/java/org/apache/tika/parser/txt/TXTParser.java         | 2 +-
 .../src/main/java/org/apache/tika/parser/http/HttpParser.java       | 2 +-
 .../src/main/java/org/apache/tika/parser/wacz/WACZParser.java       | 2 +-
 .../src/main/java/org/apache/tika/parser/xliff/XLIFF12Parser.java   | 2 +-
 .../src/main/java/org/apache/tika/parser/xml/XMLParser.java         | 2 +-
 .../src/main/java/org/apache/tika/parser/xml/XMLProfiler.java       | 2 +-
 .../main/java/org/apache/tika/parser/xmp/XMPMetadataExtractor.java  | 2 +-
 .../org/apache/tika/detect/zip/DefaultZipContainerDetector.java     | 2 +-
 .../tika/detect/zip/DeprecatedStreamingZipContainerDetector.java    | 2 +-
 .../src/main/java/org/apache/tika/zip/utils/ZipSalvager.java        | 2 +-
 47 files changed, 60 insertions(+), 60 deletions(-)

diff --git a/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java b/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
index eac0e4f9b..97ec89629 100644
--- a/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
+++ b/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
@@ -474,7 +474,7 @@ public class TikaCLI {
 
             if (arg.equals("-")) {
                 try (InputStream stream = TikaInputStream
-                        .get(new CloseShieldInputStream(System.in))) {
+                        .get(CloseShieldInputStream.wrap(System.in))) {
                     type.process(stream, System.out, new Metadata());
                 }
             } else {
diff --git a/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java b/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java
index 61fcedbe9..94d853149 100644
--- a/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java
+++ b/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java
@@ -70,7 +70,7 @@ public class XmlRootExtractor {
     private QName extractRootElement(InputStream stream, boolean throwMalformed) {
         ExtractorHandler handler = new ExtractorHandler();
         try {
-            XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+            XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                     handler, EMPTY_CONTEXT);
         } catch (SecurityException e) {
             throw e;
diff --git a/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java b/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
index 8391624a3..d1b25f17c 100644
--- a/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
+++ b/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
@@ -99,7 +99,7 @@ public class ParsingEmbeddedDocumentExtractor implements EmbeddedDocumentExtract
         // Use the delegate parser to parse this entry
         try (TemporaryResources tmp = new TemporaryResources()) {
             final TikaInputStream newStream =
-                    TikaInputStream.get(new CloseShieldInputStream(stream), tmp, metadata);
+                    TikaInputStream.get(CloseShieldInputStream.wrap(stream), tmp, metadata);
             if (stream instanceof TikaInputStream) {
                 final Object container = ((TikaInputStream) stream).getOpenContainer();
                 if (container != null) {
diff --git a/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java b/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java
index 3582a70f7..7ffb409ab 100644
--- a/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java
+++ b/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java
@@ -92,7 +92,7 @@ public class NetworkParser extends AbstractParser {
             connection.connect();
             try (InputStream input = connection.getInputStream()) {
                 new ParsingTask(stream, connection.getOutputStream())
-                        .parse(new CloseShieldInputStream(input), handler, metadata, context);
+                        .parse(CloseShieldInputStream.wrap(input), handler, metadata, context);
             }
         }
 
diff --git a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java
index 95a2d6218..2a3a493d6 100644
--- a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java
+++ b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java
@@ -74,7 +74,7 @@ public class EnviHeaderParser extends AbstractEncodingDetectorParser {
 
         // The following code was taken from the TXTParser
         // Automatically detect the character encoding
-        try (AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(stream),
+        try (AutoDetectReader reader = new AutoDetectReader(CloseShieldInputStream.wrap(stream),
                 metadata, getEncodingDetector(context))) {
             Charset charset = reader.getCharset();
             // deprecated, see TIKA-431
diff --git a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java
index 6ffb98dd2..94f4c2232 100644
--- a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java
+++ b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java
@@ -62,7 +62,7 @@ public class ISATabUtils {
             throws IOException, TikaException, SAXException {
 
         // Automatically detect the character encoding
-        try (AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(stream),
+        try (AutoDetectReader reader = new AutoDetectReader(CloseShieldInputStream.wrap(stream),
                 metadata)) {
             extractMetadata(reader, metadata, studyFileName);
         }
@@ -83,7 +83,7 @@ public class ISATabUtils {
         if (tikaConfig == null) {
             tikaConfig = TikaConfig.getDefaultConfig();
         }
-        try (AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(tis),
+        try (AutoDetectReader reader = new AutoDetectReader(CloseShieldInputStream.wrap(tis),
                 metadata, tikaConfig.getEncodingDetector());
                 CSVParser csvParser = new CSVParser(reader, CSVFormat.TDF)) {
             Iterator<CSVRecord> iterator = csvParser.iterator();
@@ -129,7 +129,7 @@ public class ISATabUtils {
         if (tikaConfig == null) {
             tikaConfig = TikaConfig.getDefaultConfig();
         }
-        try (AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(tis),
+        try (AutoDetectReader reader = new AutoDetectReader(CloseShieldInputStream.wrap(tis),
                 metadata, tikaConfig.getEncodingDetector());
                 CSVParser csvParser = new CSVParser(reader, CSVFormat.TDF)) {
             xhtml.startElement("table");
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java
index cf1fa8c3f..3801faee2 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java
@@ -99,7 +99,7 @@ public class AppleSingleFileParser extends AbstractParser {
                 // TODO: we should probably add a readlimiting wrapper around this
                 // stream to ensure that not more than contentFieldInfo.length bytes
                 // are read
-                ex.parseEmbedded(new CloseShieldInputStream(stream), xhtml, embeddedMetadata,
+                ex.parseEmbedded(CloseShieldInputStream.wrap(stream), xhtml, embeddedMetadata,
                         true);
             }
         }
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
index 4c120f30e..de2d93bfe 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
@@ -121,7 +121,7 @@ public class IWorkPackageParser extends AbstractParser {
                 metadata.add(Metadata.CONTENT_TYPE, type.getType().toString());
                 xhtml.startDocument();
                 if (contentHandler != null) {
-                    XMLReaderUtils.parseSAX(new CloseShieldInputStream(entryStream),
+                    XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(entryStream),
                             contentHandler, context);
                 }
                 xhtml.endDocument();
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork13PackageParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork13PackageParser.java
index 89f34579d..2fac21e86 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork13PackageParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork13PackageParser.java
@@ -127,7 +127,7 @@ public class IWork13PackageParser extends AbstractParser {
             if (type == null) {
                 type = IWork13DocumentType.detectIfPossible(entry);
             }
-            processZipEntry(entry, new CloseShieldInputStream(zipStream), metadata, xhtml,
+            processZipEntry(entry, CloseShieldInputStream.wrap(zipStream), metadata, xhtml,
                     parseContext,
                     embeddedDocumentExtractor);
             entry = zipStream.getNextEntry();
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-cad-module/src/main/java/org/apache/tika/parser/dgn/DGN8Parser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-cad-module/src/main/java/org/apache/tika/parser/dgn/DGN8Parser.java
index edb2488a3..e9dae2281 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-cad-module/src/main/java/org/apache/tika/parser/dgn/DGN8Parser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-cad-module/src/main/java/org/apache/tika/parser/dgn/DGN8Parser.java
@@ -60,7 +60,7 @@ public class DGN8Parser extends AbstractParser {
         POIFSFileSystem mustCloseFs = null;
         try {
             if (tstream == null) {
-                mustCloseFs = new POIFSFileSystem(new CloseShieldInputStream(stream));
+                mustCloseFs = new POIFSFileSystem(CloseShieldInputStream.wrap(stream));
                 root = mustCloseFs.getRoot();
             } else {
                 final Object container = tstream.getOpenContainer();
@@ -73,7 +73,7 @@ public class DGN8Parser extends AbstractParser {
                     if (tstream.hasFile()) {
                         fs = new POIFSFileSystem(tstream.getFile(), true);
                     } else {
-                        fs = new POIFSFileSystem(new CloseShieldInputStream(tstream));
+                        fs = new POIFSFileSystem(CloseShieldInputStream.wrap(tstream));
                     }
                     // tstream will close the fs, no need to close this below
                     tstream.setOpenContainer(fs);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-code-module/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-code-module/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java
index 1b675b087..65452b5d1 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-code-module/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-code-module/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java
@@ -91,7 +91,7 @@ public class SourceCodeParser extends AbstractEncodingDetectorParser {
     @Override
     public void parse(InputStream stream, ContentHandler handler, Metadata metadata,
                       ParseContext context) throws IOException, SAXException, TikaException {
-        try (AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(stream),
+        try (AutoDetectReader reader = new AutoDetectReader(CloseShieldInputStream.wrap(stream),
                 metadata, getEncodingDetector(context))) {
             Charset charset = reader.getCharset();
             String mediaType = metadata.get(Metadata.CONTENT_TYPE);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-crypto-module/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-crypto-module/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
index 7e42be877..13e46f825 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-crypto-module/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-crypto-module/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
@@ -65,7 +65,7 @@ public class Pkcs7Parser extends AbstractParser {
             DigestCalculatorProvider digestCalculatorProvider =
                     new JcaDigestCalculatorProviderBuilder().setProvider("BC").build();
             CMSSignedDataParser parser = new CMSSignedDataParser(digestCalculatorProvider,
-                    new CloseShieldInputStream(stream));
+                    CloseShieldInputStream.wrap(stream));
             try {
                 CMSTypedStream content = parser.getSignedContent();
                 if (content == null) {
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-html-module/src/main/java/org/apache/tika/parser/html/HtmlParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-html-module/src/main/java/org/apache/tika/parser/html/HtmlParser.java
index d72f4865e..ccf2711c1 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-html-module/src/main/java/org/apache/tika/parser/html/HtmlParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-html-module/src/main/java/org/apache/tika/parser/html/HtmlParser.java
@@ -109,7 +109,7 @@ public class HtmlParser extends AbstractEncodingDetectorParser {
     private void parseImpl(InputStream stream, ContentHandler handler, Metadata metadata,
                            ParseContext context) throws IOException, SAXException, TikaException {
         // Automatically detect the character encoding
-        try (AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(stream),
+        try (AutoDetectReader reader = new AutoDetectReader(CloseShieldInputStream.wrap(stream),
                 metadata, getEncodingDetector(context))) {
             Charset charset = reader.getCharset();
             String previous = metadata.get(Metadata.CONTENT_TYPE);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/ImageParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/ImageParser.java
index 3a75b6d89..9fea04e16 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/ImageParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/ImageParser.java
@@ -169,7 +169,7 @@ public class ImageParser extends AbstractImageParser {
                 ImageReader reader = iterator.next();
                 try {
                     try (ImageInputStream imageStream = ImageIO
-                            .createImageInputStream(new CloseShieldInputStream(stream))) {
+                            .createImageInputStream(CloseShieldInputStream.wrap(stream))) {
                         reader.setInput(imageStream);
                         try {
                             int numImages = reader.getNumImages(true);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
index 8a442383b..31588d1c9 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
@@ -586,7 +586,7 @@ public class HSLFExtractor extends AbstractPOIFSExtractor {
             if (mediaType
                     .equals("application/x-tika-msoffice-embedded; format=comp_obj") ||
                     mediaType.equals("application/x-tika-msoffice")) {
-                POIFSFileSystem poifs = new POIFSFileSystem(new CloseShieldInputStream(stream));
+                POIFSFileSystem poifs = new POIFSFileSystem(CloseShieldInputStream.wrap(stream));
 
                 try {
                     handleEmbeddedOfficeDoc(poifs.getRoot(), objID, xhtml, false);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
index 0b78fcdab..8d938fdbe 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
@@ -151,7 +151,7 @@ public class OfficeParser extends AbstractOfficeParser {
         POIFSFileSystem mustCloseFs = null;
         try {
             if (tstream == null) {
-                mustCloseFs = new POIFSFileSystem(new CloseShieldInputStream(stream));
+                mustCloseFs = new POIFSFileSystem(CloseShieldInputStream.wrap(stream));
                 root = mustCloseFs.getRoot();
             } else {
                 final Object container = tstream.getOpenContainer();
@@ -164,7 +164,7 @@ public class OfficeParser extends AbstractOfficeParser {
                     if (tstream.hasFile()) {
                         fs = new POIFSFileSystem(tstream.getFile(), true);
                     } else {
-                        fs = new POIFSFileSystem(new CloseShieldInputStream(tstream));
+                        fs = new POIFSFileSystem(CloseShieldInputStream.wrap(tstream));
                     }
                     //tstream will close the fs, no need to close this below
                     tstream.setOpenContainer(fs);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java
index 6ea9d5a5f..35cbbb6d2 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java
@@ -124,7 +124,7 @@ public class OOXMLExtractorFactory {
                 try (RereadableInputStream rereadableInputStream = new RereadableInputStream(stream,
                         MAX_BUFFER_LENGTH, false)) {
                     try {
-                        pkg = OPCPackage.open(new CloseShieldInputStream(rereadableInputStream));
+                        pkg = OPCPackage.open(CloseShieldInputStream.wrap(rereadableInputStream));
                     } catch (UnsupportedZipFeatureException e) {
                         if (e.getFeature() !=
                                 UnsupportedZipFeatureException.Feature.DATA_DESCRIPTOR) {
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java
index ac6b4a9ca..c036f086f 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java
@@ -159,7 +159,7 @@ public class SXSLFPowerPointExtractorDecorator extends AbstractOOXMLExtractor {
                 continue;
             }
             try (InputStream stream = commentAuthorsPart.getInputStream()) {
-                XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+                XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                         new XSLFCommentAuthorHandler(), context);
 
             } catch (TikaException | SAXException | IOException e) {
@@ -178,7 +178,7 @@ public class SXSLFPowerPointExtractorDecorator extends AbstractOOXMLExtractor {
 //        Map<String, String> hyperlinks = loadHyperlinkRelationships(packagePart);
         xhtml.startElement("div", "class", "slide-content");
         try (InputStream stream = slidePart.getInputStream()) {
-            XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+            XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                     new EmbeddedContentHandler(new OOXMLWordAndPowerPointTextHandler(
                             new OOXMLTikaBodyPartHandler(xhtml), linkedRelationships)), context);
 
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXWPFWordExtractorDecorator.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXWPFWordExtractorDecorator.java
index 92d232cd4..2b4c52748 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXWPFWordExtractorDecorator.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXWPFWordExtractorDecorator.java
@@ -191,7 +191,7 @@ public class SXWPFWordExtractorDecorator extends AbstractOOXMLExtractor {
         Map<String, String> linkedRelationships =
                 loadLinkedRelationships(packagePart, true, metadata);
         try (InputStream stream = packagePart.getInputStream()) {
-            XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+            XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                     new EmbeddedContentHandler(new OOXMLWordAndPowerPointTextHandler(
                             new OOXMLTikaBodyPartHandler(xhtml, styles, listManager, config),
                             linkedRelationships, config.isIncludeShapeBasedContent(),
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSExtractorDecorator.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSExtractorDecorator.java
index 1bae10b03..30a19c9b2 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSExtractorDecorator.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSExtractorDecorator.java
@@ -149,7 +149,7 @@ public class XPSExtractorDecorator extends AbstractOOXMLExtractor {
     private void handleDocuments(PackageRelationship packageRelationship, XHTMLContentHandler xhtml)
             throws IOException, SAXException, TikaException {
         try (InputStream stream = pkg.getPart(packageRelationship).getInputStream()) {
-            XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+            XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                     new EmbeddedContentHandler(new FixedDocSeqHandler(xhtml)), context);
         }
     }
@@ -198,7 +198,7 @@ public class XPSExtractorDecorator extends AbstractOOXMLExtractor {
             String zipPath = (docRef.startsWith("/") ? docRef.substring(1) : docRef);
             if (pkg instanceof ZipPackage) {
                 try (InputStream stream = getZipStream(zipPath, pkg)) {
-                    XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+                    XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                             new EmbeddedContentHandler(
                                     new PageContentPartHandler(relativeRoot, xhtml)), context);
 
@@ -246,7 +246,7 @@ public class XPSExtractorDecorator extends AbstractOOXMLExtractor {
                         pagePath = pagePath.substring(1);
                     }
                     try (InputStream stream = getZipStream(pagePath, pkg)) {
-                        XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+                        XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                                         new XPSPageContentHandler(xhtml, embeddedImages), context);
                     } catch (TikaException | IOException e) {
                         throw new SAXException(e);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/XWPFEventBasedWordExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/XWPFEventBasedWordExtractor.java
index 02c8cd240..62f54ad5e 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/XWPFEventBasedWordExtractor.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/XWPFEventBasedWordExtractor.java
@@ -205,7 +205,7 @@ public class XWPFEventBasedWordExtractor implements POIXMLTextExtractor {
 
         Map<String, String> hyperlinks = loadHyperlinkRelationships(packagePart);
         try (InputStream stream = packagePart.getInputStream()) {
-            XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+            XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                     new OOXMLWordAndPowerPointTextHandler(new XWPFToTextContentHandler(buffer),
                     hyperlinks), new ParseContext());
         }
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/Word2006MLParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/Word2006MLParser.java
index 77a0c7be1..e2fe9d080 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/Word2006MLParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/Word2006MLParser.java
@@ -59,7 +59,7 @@ public class Word2006MLParser extends AbstractOfficeParser {
             //need to get new SAXParser because
             //an attachment might require another SAXParser
             //mid-parse
-            XMLReaderUtils.getSAXParser().parse(new CloseShieldInputStream(stream),
+            XMLReaderUtils.getSAXParser().parse(CloseShieldInputStream.wrap(stream),
                     new EmbeddedContentHandler(
                             new Word2006MLDocHandler(xhtml, metadata, context)));
         } catch (SAXException e) {
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/AbstractXML2003Parser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/AbstractXML2003Parser.java
index 676d4e064..ea6f295e3 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/AbstractXML2003Parser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/AbstractXML2003Parser.java
@@ -94,7 +94,7 @@ public abstract class AbstractXML2003Parser extends AbstractParser {
             //need to get new SAXParser because
             //an attachment might require another SAXParser
             //mid-parse
-            XMLReaderUtils.getSAXParser().parse(new CloseShieldInputStream(stream),
+            XMLReaderUtils.getSAXParser().parse(CloseShieldInputStream.wrap(stream),
                     new EmbeddedContentHandler(
                             getContentHandler(tagged, metadata, context)));
         } catch (SAXException e) {
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFParser.java
index 0919c5569..328a3da32 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFParser.java
@@ -60,7 +60,7 @@ public class DIFParser extends AbstractParser {
         xhtml.startElement("p");
         TaggedContentHandler tagged = new TaggedContentHandler(handler);
         try {
-            XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+            XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                             new EmbeddedContentHandler(
                                     getContentHandler(tagged, metadata, context)),
                     context);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubContentParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubContentParser.java
index b837f667a..c29eb7c20 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubContentParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubContentParser.java
@@ -47,7 +47,7 @@ public class EpubContentParser extends AbstractParser {
                       ParseContext context) throws IOException, SAXException, TikaException {
 
         XMLReaderUtils
-                .parseSAX(new CloseShieldInputStream(stream), handler,
+                .parseSAX(CloseShieldInputStream.wrap(stream), handler,
                         context);
     }
 
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubParser.java
index 75e5eaf69..d0a7dab25 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubParser.java
@@ -178,7 +178,7 @@ public class EpubParser extends AbstractParser {
             }
         } else {
             temporaryResources = new TemporaryResources();
-            tis = TikaInputStream.get(new CloseShieldInputStream(stream), temporaryResources, metadata);
+            tis = TikaInputStream.get(CloseShieldInputStream.wrap(stream), temporaryResources, metadata);
         }
         ZipFile zipFile = null;
         try {
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/hwp/HwpTextExtractorV5.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/hwp/HwpTextExtractorV5.java
index aaab29d96..7a517f84e 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/hwp/HwpTextExtractorV5.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/hwp/HwpTextExtractorV5.java
@@ -95,7 +95,7 @@ public class HwpTextExtractorV5 implements Serializable {
 
         POIFSFileSystem fs = null;
         try {
-            fs = new POIFSFileSystem(new CloseShieldInputStream(source));
+            fs = new POIFSFileSystem(CloseShieldInputStream.wrap(source));
 
             DirectoryNode root = fs.getRoot();
             extract0(root, metadata, xhtml);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/indesign/ContentAndMetadataExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/indesign/ContentAndMetadataExtractor.java
index f8ef48e26..cf70e29cf 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/indesign/ContentAndMetadataExtractor.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/indesign/ContentAndMetadataExtractor.java
@@ -56,7 +56,7 @@ class ContentAndMetadataExtractor {
 
         // Parse the content using inner content handler
         XMLReaderUtils.parseSAX(
-                new CloseShieldInputStream(stream), new ContentAndMetadataHandler(handler, metadata), context
+                CloseShieldInputStream.wrap(stream), new ContentAndMetadataHandler(handler, metadata), context
         );
     }
 
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/mif/MIFParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/mif/MIFParser.java
index 448276986..fe200e429 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/mif/MIFParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/mif/MIFParser.java
@@ -62,7 +62,7 @@ public class MIFParser extends AbstractEncodingDetectorParser {
     public void parse(InputStream stream, ContentHandler handler, Metadata metadata,
                       ParseContext context) throws IOException, SAXException, TikaException {
 
-        try (AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(stream),
+        try (AutoDetectReader reader = new AutoDetectReader(CloseShieldInputStream.wrap(stream),
                 metadata, getEncodingDetector(context))) {
 
             Charset charset = reader.getCharset();
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/FlatOpenDocumentParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/FlatOpenDocumentParser.java
index e943bc9a9..2467febfc 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/FlatOpenDocumentParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/FlatOpenDocumentParser.java
@@ -71,7 +71,7 @@ public class FlatOpenDocumentParser extends AbstractParser {
         xhtml.startDocument();
         try {
             ContentHandler fodHandler = getContentHandler(xhtml, metadata, context);
-            XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+            XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                     new EmbeddedContentHandler(fodHandler), context);
             //can only detect subtype (text/pres/sheet) during parse.
             //update it here.
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentContentParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentContentParser.java
index 231b5807a..f6d310ca8 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentContentParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentContentParser.java
@@ -54,7 +54,7 @@ public class OpenDocumentContentParser extends AbstractParser {
         DefaultHandler dh = new OpenDocumentBodyHandler(handler, context);
 
 
-        XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+        XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                 new NSNormalizerContentHandler(dh), context);
     }
 
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java
index 3886af599..42d37e150 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java
@@ -337,14 +337,14 @@ public class OpenDocumentParser extends AbstractParser {
         embeddedMetadata.set(TikaCoreProperties.EMBEDDED_RESOURCE_TYPE,
                 TikaCoreProperties.EmbeddedResourceType.MACRO.toString());
         handler = new OpenDocumentMacroHandler(handler, context);
-        XMLReaderUtils.parseSAX(new CloseShieldInputStream(is),
+        XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(is),
                 new EmbeddedContentHandler(handler), context);
     }
 
     private void checkForEncryption(InputStream stream, ParseContext context)
             throws SAXException, TikaException, IOException {
         try {
-            XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+            XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                     new EmbeddedContentHandler(
                             new OpenDocumentManifestHandler()), context);
         } catch (SAXException e) {
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/feed/FeedParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/feed/FeedParser.java
index f4d99dd8f..b42f371fc 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/feed/FeedParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/feed/FeedParser.java
@@ -88,7 +88,7 @@ public class FeedParser extends AbstractParser {
             SyndFeedInput input = new SyndFeedInput();
             input.setAllowDoctypes(false);
             SyndFeed feed =
-                    input.build(new InputSource(new CloseShieldInputStream(stream)));
+                    input.build(new InputSource(CloseShieldInputStream.wrap(stream)));
 
             String title = stripTags(feed.getTitleEx());
             String description = stripTags(feed.getDescriptionEx());
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
index b9a1c9571..eb2bd4664 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
@@ -161,7 +161,7 @@ public class PDFParser extends AbstractParser implements RenderingParser, Initia
                 if (stream instanceof TikaInputStream) {
                     tstream = (TikaInputStream) stream;
                 } else {
-                    tstream = TikaInputStream.get(new CloseShieldInputStream(stream));
+                    tstream = TikaInputStream.get(CloseShieldInputStream.wrap(stream));
                     shouldClose = true;
                 }
                 context.set(PDFRenderingState.class, new PDFRenderingState(tstream));
@@ -182,7 +182,7 @@ public class PDFParser extends AbstractParser implements RenderingParser, Initia
                         getPDDocument(tstream.getPath(), password,
                                 memoryUsageSetting, metadata, context);
             } else {
-                pdfDocument = getPDDocument(new CloseShieldInputStream(stream), password,
+                pdfDocument = getPDDocument(CloseShieldInputStream.wrap(stream), password,
                         memoryUsageSetting, metadata, context);
             }
             if (tstream != null) {
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java
index d6df3c5ff..6b42250b3 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java
@@ -170,10 +170,10 @@ public class CompressorParser extends AbstractParser {
         // any associated resources, but the underlying document stream
         // should not be closed
         if (stream.markSupported()) {
-            stream = new CloseShieldInputStream(stream);
+            stream = CloseShieldInputStream.wrap(stream);
         } else {
             // Ensure that the stream supports the mark feature
-            stream = new BufferedInputStream(new CloseShieldInputStream(stream));
+            stream = new BufferedInputStream(CloseShieldInputStream.wrap(stream));
         }
 
         CompressorInputStream cis;
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/PackageParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
index 9a416340d..498864225 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
@@ -260,7 +260,7 @@ public class PackageParser extends AbstractEncodingDetectorParser {
             // any associated resources, but the underlying document stream
             // should not be closed
 
-            ais = factory.createArchiveInputStream(new CloseShieldInputStream(stream));
+            ais = factory.createArchiveInputStream(CloseShieldInputStream.wrap(stream));
 
         } catch (StreamingNotSupportedException sne) {
             // Most archive formats work on streams, but a few need files
@@ -320,7 +320,7 @@ public class PackageParser extends AbstractEncodingDetectorParser {
                 ais.close();
                 // An exception would be thrown if MARK_LIMIT is not big enough
                 stream.reset();
-                ais = new ZipArchiveInputStream(new CloseShieldInputStream(stream), encoding, true,
+                ais = new ZipArchiveInputStream(CloseShieldInputStream.wrap(stream), encoding, true,
                         true);
                 parseEntries(ais, metadata, extractor, xhtml, true, entryCnt);
             }
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java
index 0f23f9254..462167d14 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java
@@ -290,13 +290,13 @@ public class TextAndCSVParser extends AbstractEncodingDetectorParser {
             MediaType mediaType = MediaType.parse(mediaString);
             if (!SUPPORTED_TYPES.contains(mediaType.getBaseType())) {
                 params.setMediaType(mediaType);
-                return new AutoDetectReader(new CloseShieldInputStream(stream), metadata,
+                return new AutoDetectReader(CloseShieldInputStream.wrap(stream), metadata,
                         getEncodingDetector(context));
             }
         }
         Reader reader = null;
         if (params.getCharset() == null) {
-            reader = new AutoDetectReader(new CloseShieldInputStream(stream), metadata,
+            reader = new AutoDetectReader(CloseShieldInputStream.wrap(stream), metadata,
                     getEncodingDetector(context));
             params.setCharset(((AutoDetectReader) reader).getCharset());
             if (params.isComplete()) {
@@ -304,7 +304,7 @@ public class TextAndCSVParser extends AbstractEncodingDetectorParser {
             }
         } else {
             reader = new BufferedReader(
-                    new InputStreamReader(new CloseShieldInputStream(stream), params.getCharset()));
+                    new InputStreamReader(CloseShieldInputStream.wrap(stream), params.getCharset()));
         }
 
         if (params.getDelimiter() == null &&
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/TXTParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/TXTParser.java
index c6e743091..e8a1ae0a7 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/TXTParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/TXTParser.java
@@ -74,7 +74,7 @@ public class TXTParser extends AbstractEncodingDetectorParser {
                       ParseContext context) throws IOException, SAXException, TikaException {
 
         // Automatically detect the character encoding
-        try (AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(stream),
+        try (AutoDetectReader reader = new AutoDetectReader(CloseShieldInputStream.wrap(stream),
                 metadata, getEncodingDetector(context))) {
             //try to get detected content type; could be a subclass of text/plain
             //such as vcal, etc.
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-webarchive-module/src/main/java/org/apache/tika/parser/http/HttpParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-webarchive-module/src/main/java/org/apache/tika/parser/http/HttpParser.java
index 35c1ea977..8e6061284 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-webarchive-module/src/main/java/org/apache/tika/parser/http/HttpParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-webarchive-module/src/main/java/org/apache/tika/parser/http/HttpParser.java
@@ -61,7 +61,7 @@ public class HttpParser extends AbstractParser {
         xhtml.startDocument();
 
         try (ReadableByteChannel channel =
-                     Channels.newChannel(new CloseShieldInputStream(stream))) {
+                     Channels.newChannel(CloseShieldInputStream.wrap(stream))) {
 
             int len = channel.read(buffer);
             buffer.flip();
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-webarchive-module/src/main/java/org/apache/tika/parser/wacz/WACZParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-webarchive-module/src/main/java/org/apache/tika/parser/wacz/WACZParser.java
index 7697a98b8..0d414aac1 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-webarchive-module/src/main/java/org/apache/tika/parser/wacz/WACZParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-webarchive-module/src/main/java/org/apache/tika/parser/wacz/WACZParser.java
@@ -86,7 +86,7 @@ public class WACZParser extends AbstractParser {
     private void processStream(InputStream stream, XHTMLContentHandler xhtml, Metadata metadata,
                                EmbeddedDocumentExtractor ex) throws SAXException, IOException {
         try (ZipArchiveInputStream zais = new ZipArchiveInputStream(
-                new CloseShieldInputStream(stream))) {
+                CloseShieldInputStream.wrap(stream))) {
             ZipArchiveEntry zae = zais.getNextZipEntry();
             while (zae != null) {
                 String name = zae.getName();
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xliff/XLIFF12Parser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xliff/XLIFF12Parser.java
index 57a547e82..f5acbc1aa 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xliff/XLIFF12Parser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xliff/XLIFF12Parser.java
@@ -66,7 +66,7 @@ public class XLIFF12Parser extends AbstractParser {
 
         final XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
 
-        XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+        XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                 new XLIFF12ContentHandler(xhtml, metadata), context);
 
     }
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLParser.java
index 9e72915f8..4fa57fbb9 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLParser.java
@@ -68,7 +68,7 @@ public class XMLParser extends AbstractParser {
 
         TaggedContentHandler tagged = new TaggedContentHandler(handler);
         try {
-            XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+            XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                             new EmbeddedContentHandler(
                                     getContentHandler(tagged, metadata, context)),
                     context);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLProfiler.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLProfiler.java
index dc3cba21a..bfe8d5790 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLProfiler.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLProfiler.java
@@ -89,7 +89,7 @@ public class XMLProfiler extends AbstractParser {
     @Override
     public void parse(InputStream stream, ContentHandler handler, Metadata metadata,
                       ParseContext context) throws IOException, SAXException, TikaException {
-        XMLReaderUtils.parseSAX(new CloseShieldInputStream(stream),
+        XMLReaderUtils.parseSAX(CloseShieldInputStream.wrap(stream),
                 new XMLProfileHandler(metadata), context);
     }
 
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/main/java/org/apache/tika/parser/xmp/XMPMetadataExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/main/java/org/apache/tika/parser/xmp/XMPMetadataExtractor.java
index a15dc230d..d4a3b4001 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/main/java/org/apache/tika/parser/xmp/XMPMetadataExtractor.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-xmp-commons/src/main/java/org/apache/tika/parser/xmp/XMPMetadataExtractor.java
@@ -51,7 +51,7 @@ public class XMPMetadataExtractor {
         try {
             DomXmpParser xmpParser = new DomXmpParser();
             xmpParser.setStrictParsing(false);
-            xmp = xmpParser.parse(new CloseShieldInputStream(stream));
+            xmp = xmpParser.parse(CloseShieldInputStream.wrap(stream));
         } catch (Throwable ex) {
             //swallow
             return;
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DefaultZipContainerDetector.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DefaultZipContainerDetector.java
index d2f28e0a0..292051259 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DefaultZipContainerDetector.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DefaultZipContainerDetector.java
@@ -265,7 +265,7 @@ public class DefaultZipContainerDetector implements Detector {
             throws IOException {
         StreamingDetectContext detectContext = new StreamingDetectContext();
         try (ZipArchiveInputStream zis = new ZipArchiveInputStream(
-                new CloseShieldInputStream(input), "UTF8", false, allowStoredEntries)) {
+                CloseShieldInputStream.wrap(input), "UTF8", false, allowStoredEntries)) {
             ZipArchiveEntry zae = zis.getNextZipEntry();
             while (zae != null) {
                 MediaType mt = detect(zae, zis, detectContext);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DeprecatedStreamingZipContainerDetector.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DeprecatedStreamingZipContainerDetector.java
index 2773e722d..1cc56d423 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DeprecatedStreamingZipContainerDetector.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DeprecatedStreamingZipContainerDetector.java
@@ -44,7 +44,7 @@ public class DeprecatedStreamingZipContainerDetector extends ZipContainerDetecto
         Set<String> fileNames = new HashSet<>();
         Set<String> directoryNames = new HashSet<>();
         try (ZipArchiveInputStream zipArchiveInputStream =
-                     new ZipArchiveInputStream(new CloseShieldInputStream(is))) {
+                     new ZipArchiveInputStream(CloseShieldInputStream.wrap(is))) {
             ZipArchiveEntry zae = zipArchiveInputStream.getNextZipEntry();
             while (zae != null) {
                 String name = zae.getName();
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/zip/utils/ZipSalvager.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/zip/utils/ZipSalvager.java
index 9c2716309..4b36d5455 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/zip/utils/ZipSalvager.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/zip/utils/ZipSalvager.java
@@ -60,7 +60,7 @@ public class ZipSalvager {
 
             try (ZipArchiveOutputStream outputStream = new ZipArchiveOutputStream(salvagedZip);
                     ZipArchiveInputStream zipArchiveInputStream = new ZipArchiveInputStream(
-                            new CloseShieldInputStream(brokenZip), "UTF8", false,
+                            CloseShieldInputStream.wrap(brokenZip), "UTF8", false,
                             allowStoredEntries)) {
                 ZipArchiveEntry zae = zipArchiveInputStream.getNextZipEntry();
                 try {