Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java 
(original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java Thu 
Jun  8 08:53:08 2023
@@ -964,7 +964,7 @@ class TestXSLFBugs {
 
             final List<Object> strings = new ArrayList<>();
 
-            DummyGraphics2d dgfx = new DummyGraphics2d(new NullPrintStream()) {
+            DummyGraphics2d dgfx = new 
DummyGraphics2d(NullPrintStream.INSTANCE) {
                 @Override
                 public void drawString(AttributedCharacterIterator iterator, 
float x, float y) {
                     // For the test file, common sl draws textruns one by one 
and not mixed
@@ -1009,7 +1009,7 @@ class TestXSLFBugs {
                 { 79.58198774450841, 53.20887318960063, 109.13118501448272, 
9.40935058567127 },
         };
 
-        DummyGraphics2d dgfx = new DummyGraphics2d(new NullPrintStream()) {
+        DummyGraphics2d dgfx = new DummyGraphics2d(NullPrintStream.INSTANCE) {
             int idx = 0;
             @Override
             public void clip(java.awt.Shape s) {
@@ -1065,7 +1065,7 @@ class TestXSLFBugs {
             assertNotNull(targetSlide);
             assertEquals(2, targetPresentation.getPictureData().size());
 
-            targetPresentation.write(NullOutputStream.NULL_OUTPUT_STREAM);
+            targetPresentation.write(NullOutputStream.INSTANCE);
         }
     }
 
@@ -1143,7 +1143,7 @@ class TestXSLFBugs {
 
         final ArrayList<LinearGradientPaint> linearGradients = new 
ArrayList<>();
         final ArrayList<RadialGradientPaint> radialGradients = new 
ArrayList<>();
-        final DummyGraphics2d dgfx = new DummyGraphics2d(new NullPrintStream())
+        final DummyGraphics2d dgfx = new 
DummyGraphics2d(NullPrintStream.INSTANCE)
         {
             public void setPaint(final Paint paint) {
                 if (paint instanceof LinearGradientPaint) {

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFSlideCopy.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFSlideCopy.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFSlideCopy.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFSlideCopy.java 
Thu Jun  8 08:53:08 2023
@@ -40,7 +40,7 @@ class TestXSLFSlideCopy {
         try (
                 InputStream stream = 
slTests.openResourceAsStream("copy-slide-demo.pptx");
                 XMLSlideShow slideShow = new XMLSlideShow(stream);
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             XSLFSlide defaultSlide = getSlideByShapeName(slideShow, shapeName);
             int slideIndex = defaultSlide.getSlideNumber() - 1;

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/XSLFTestDataSamples.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/XSLFTestDataSamples.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/XSLFTestDataSamples.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/XSLFTestDataSamples.java 
Thu Jun  8 08:53:08 2023
@@ -43,7 +43,7 @@ public class XSLFTestDataSamples {
     }
 
     public static XMLSlideShow writeOutAndReadBack(XMLSlideShow doc) throws 
IOException {
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream(4096)) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(4096).get()) {
             doc.write(baos);
             try (InputStream bais = baos.toInputStream()) {
                 return new XMLSlideShow(bais);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFShape.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFShape.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFShape.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFShape.java
 Thu Jun  8 08:53:08 2023
@@ -90,7 +90,7 @@ class TestXSLFShape {
     void testReplaceTextInShapes() throws IOException {
         try (
                 XMLSlideShow ppt = 
XSLFTestDataSamples.openSampleDocument("shapes.pptx");
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             assertEquals(6, ppt.getSlides().size());
             XSLFSlide slide0 = ppt.getSlides().get(0);
@@ -135,7 +135,7 @@ class TestXSLFShape {
     void testReplaceTextInShapesXDDF() throws IOException {
         try (
                 XMLSlideShow ppt = 
XSLFTestDataSamples.openSampleDocument("shapes.pptx");
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             assertEquals(6, ppt.getSlides().size());
             XSLFSlide slide0 = ppt.getSlides().get(0);
@@ -180,7 +180,7 @@ class TestXSLFShape {
     void testCloneSlideAndReplaceText() throws IOException {
         try (
                 XMLSlideShow ppt = 
XSLFTestDataSamples.openSampleDocument("shapes.pptx");
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             assertEquals(6, ppt.getSlides().size());
             XSLFSlide slide0 = ppt.getSlides().get(0);
@@ -245,7 +245,7 @@ class TestXSLFShape {
     void testCloneSlideAndReplaceTextXDDF() throws IOException {
         try (
                 XMLSlideShow ppt = 
XSLFTestDataSamples.openSampleDocument("shapes.pptx");
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             assertEquals(6, ppt.getSlides().size());
             XSLFSlide slide0 = ppt.getSlides().get(0);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFTextParagraph.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFTextParagraph.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFTextParagraph.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFTextParagraph.java
 Thu Jun  8 08:53:08 2023
@@ -452,7 +452,7 @@ class TestXSLFTextParagraph {
 
             assertEquals("This is a highlight test", sh.getText());
 
-            DummyGraphics2d dgfx = new DummyGraphics2d(new NullPrintStream()) {
+            DummyGraphics2d dgfx = new 
DummyGraphics2d(NullPrintStream.INSTANCE) {
                 @Override
                 public void drawString(AttributedCharacterIterator iterator, 
float x, float y) {
                     // For the test file, common sl draws textruns one by one 
and not mixed

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/DeferredSXSSFITestDataProvider.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/DeferredSXSSFITestDataProvider.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/DeferredSXSSFITestDataProvider.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/DeferredSXSSFITestDataProvider.java
 Thu Jun  8 08:53:08 2023
@@ -68,7 +68,7 @@ public final class DeferredSXSSFITestDat
             throw new IllegalArgumentException("Expected an instance of 
XSSFWorkbook");
         }
 
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             wb.write(baos);
             try (InputStream is = baos.toInputStream()) {
                 return new XSSFWorkbook(is);
@@ -82,7 +82,7 @@ public final class DeferredSXSSFITestDat
      * Returns an XSSFWorkbook since SXSSFWorkbook is write-only
      */
     public XSSFWorkbook inMemoryWriteOutAndReadBack(SXSSFWorkbook wb) {
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             wb.writeAvoidingTempFiles(baos);
             try (InputStream is = baos.toInputStream()) {
                 return new XSSFWorkbook(is);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/SXSSFITestDataProvider.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/SXSSFITestDataProvider.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/SXSSFITestDataProvider.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/SXSSFITestDataProvider.java
 Thu Jun  8 08:53:08 2023
@@ -67,7 +67,7 @@ public class SXSSFITestDataProvider impl
             throw new IllegalArgumentException("Expected an instance of 
SXSSFWorkbook");
         }
 
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             wb.write(baos);
             try (InputStream is = baos.toInputStream()) {
                 return new XSSFWorkbook(is);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/TestSSUtilVsXSSFColor.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/TestSSUtilVsXSSFColor.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/TestSSUtilVsXSSFColor.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/TestSSUtilVsXSSFColor.java
 Thu Jun  8 08:53:08 2023
@@ -35,7 +35,7 @@ class TestSSUtilVsXSSFColor {
 
         try (
                 XSSFWorkbook workbook = new XSSFWorkbook();
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             XSSFCellStyle cellStyle = workbook.createCellStyle();
             final String rgbS = "ffff00";

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/TestXSSFMemoryLeak.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/TestXSSFMemoryLeak.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/TestXSSFMemoryLeak.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/TestXSSFMemoryLeak.java 
Thu Jun  8 08:53:08 2023
@@ -72,7 +72,7 @@ public class TestXSSFMemoryLeak {
             // not freed until we free up the Cell itself
             //verifier.addObject(ctCell);
 
-            try (OutputStream out = new 
UnsynchronizedByteArrayOutputStream(8192)) {
+            try (OutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(8192).get()) {
                 wb.write(out);
             }
 

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java 
Thu Jun  8 08:53:08 2023
@@ -116,7 +116,7 @@ public class XSSFTestDataSamples {
      * @throws IOException If writing the file fails
      */
     public static <R extends Workbook> UnsynchronizedByteArrayOutputStream 
writeOut(R wb) throws IOException {
-        UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream(8192);
+        UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(8192).get();
         wb.write(out);
         return out;
     }

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
 Thu Jun  8 08:53:08 2023
@@ -376,7 +376,7 @@ public final class TestXSSFReader {
 
     @Test
     void testBug65676() throws Exception {
-        try (UnsynchronizedByteArrayOutputStream output = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream output = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             try(Workbook wb = new SXSSFWorkbook()) {
                 Row r = wb.createSheet("Sheet").createRow(0);
                 r.createCell(0).setCellValue(1.2); /* A1: Number 1.2 */

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
 Thu Jun  8 08:53:08 2023
@@ -72,7 +72,7 @@ public final class TestXSSFExportToXML {
 
                 XSSFMap map = mapInfo.getXSSFMapById(1);
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xml = os.toString(StandardCharsets.UTF_8);
 
@@ -120,7 +120,7 @@ public final class TestXSSFExportToXML {
 
                 XSSFMap map = mapInfo.getXSSFMapById(1);
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xml = os.toString(StandardCharsets.UTF_8);
 
@@ -194,7 +194,7 @@ public final class TestXSSFExportToXML {
 
                     XSSFExportToXml exporter = new XSSFExportToXml(map);
                     String xml;
-                    try (UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream()) {
+                    try (UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                         exporter.exportToXML(os, true);
                         xml = os.toString(StandardCharsets.UTF_8);
                     }
@@ -231,7 +231,7 @@ public final class TestXSSFExportToXML {
         try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("CustomXMLMapping-singleattributenamespace.xlsx"))
 {
             for (XSSFMap map : wb.getCustomXMLMappings()) {
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 SAXParseException ex = assertThrows(SAXParseException.class, 
() -> exporter.exportToXML(os, true));
                 assertTrue(p.matcher(ex.getMessage()).find(),
                         "Did not find pattern " + p + " in " + 
ex.getMessage());
@@ -256,7 +256,7 @@ public final class TestXSSFExportToXML {
                 assertNotNull(map, "XSSFMap is null");
 
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xmlData = os.toString(StandardCharsets.UTF_8);
 
@@ -300,7 +300,7 @@ public final class TestXSSFExportToXML {
                 assertNotNull(map, "XSSFMap is null");
 
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xmlData = os.toString(StandardCharsets.UTF_8);
 
@@ -335,7 +335,7 @@ public final class TestXSSFExportToXML {
                 assertNotNull(map, "XSSFMap is null");
 
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xmlData = os.toString(StandardCharsets.UTF_8);
 
@@ -374,7 +374,7 @@ public final class TestXSSFExportToXML {
                 assertNotNull(map, "XSSFMap is null");
 
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xmlData = os.toString(StandardCharsets.UTF_8);
 
@@ -400,7 +400,7 @@ public final class TestXSSFExportToXML {
             for (XSSFMap map : wb.getCustomXMLMappings()) {
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
 
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xmlData = os.toString(StandardCharsets.UTF_8);
 
@@ -478,7 +478,7 @@ public final class TestXSSFExportToXML {
                 assertNotNull(map, "XSSFMap is null");
 
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xmlData = os.toString(StandardCharsets.UTF_8);
 
@@ -556,7 +556,7 @@ public final class TestXSSFExportToXML {
                 assertNotNull(map, "XSSFMap is null");
 
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xmlData = os.toString(StandardCharsets.UTF_8);
 
@@ -587,7 +587,7 @@ public final class TestXSSFExportToXML {
                 assertNotNull(map, "XSSFMap is null");
 
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, false);
                 String xmlData = os.toString(StandardCharsets.UTF_8);
 
@@ -619,7 +619,7 @@ public final class TestXSSFExportToXML {
                 assertNotNull(map, "XSSFMap is null");
 
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, true);
                 String xmlData = os.toString(StandardCharsets.UTF_8);
 
@@ -645,7 +645,7 @@ public final class TestXSSFExportToXML {
             for (XSSFMap map : mappings) {
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
 
-                UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(os, false);
                 assertNotNull(os.toString(StandardCharsets.UTF_8));
             }
@@ -657,7 +657,7 @@ public final class TestXSSFExportToXML {
         try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("61281.xlsx")) {
             for (XSSFMap map : wb.getCustomXMLMappings()) {
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 exporter.exportToXML(bos, true);
                 
assertNotNull(DocumentHelper.readDocument(bos.toInputStream()));
                 String exportedXml = bos.toString(StandardCharsets.UTF_8);
@@ -671,7 +671,7 @@ public final class TestXSSFExportToXML {
         try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("xxe_in_schema.xlsx")) {
             for (XSSFMap map : wb.getCustomXMLMappings()) {
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 assertThrows(SAXParseException.class, () -> 
exporter.exportToXML(bos, true));
             }
         }

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/OpcZipTest.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/OpcZipTest.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/OpcZipTest.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/OpcZipTest.java 
Thu Jun  8 08:53:08 2023
@@ -34,8 +34,8 @@ class OpcZipTest {
     void compareOutput() throws Exception {
         Map<String, String> contents = createContents();
         try (
-                UnsynchronizedByteArrayOutputStream bos1 = new 
UnsynchronizedByteArrayOutputStream();
-                UnsynchronizedByteArrayOutputStream bos2 = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos1 = 
UnsynchronizedByteArrayOutputStream.builder().get();
+                UnsynchronizedByteArrayOutputStream bos2 = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             try (OpcOutputStream zip = new OpcOutputStream(bos1)) {
                 for (Map.Entry<String, String> entry : contents.entrySet()) {

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFSheet.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFSheet.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFSheet.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFSheet.java
 Thu Jun  8 08:53:08 2023
@@ -119,7 +119,7 @@ public final class TestSXSSFSheet extend
 
     @Test
     void flushBufferedDaat() throws IOException {
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             try (SXSSFWorkbook wb = new SXSSFWorkbook(1)) {
                 SXSSFSheet sheet = wb.createSheet("my-sheet");
 
@@ -193,7 +193,7 @@ public final class TestSXSSFSheet extend
             //one level
             sheet.groupRow(9, 10);
 
-            try(UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try(UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 workbook.write(bos);
                 try(XSSFWorkbook xssfWorkbook = new 
XSSFWorkbook(bos.toInputStream())) {
                     XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);
@@ -223,7 +223,7 @@ public final class TestSXSSFSheet extend
             //two level
             sheet.groupRow(10, 13);
 
-            try(UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try(UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 workbook.write(bos);
                 try(XSSFWorkbook xssfWorkbook = new 
XSSFWorkbook(bos.toInputStream())) {
                     XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java
 Thu Jun  8 08:53:08 2023
@@ -19,7 +19,6 @@
 
 package org.apache.poi.xssf.streaming;
 
-import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
 import static org.apache.poi.POITestCase.assertEndsWith;
 import static org.apache.poi.POITestCase.assertStartsWith;
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
@@ -37,6 +36,7 @@ import java.io.IOException;
 import java.time.LocalDate;
 import java.util.Arrays;
 
+import org.apache.commons.io.output.NullOutputStream;
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.common.usermodel.HyperlinkType;
@@ -358,12 +358,12 @@ public final class TestSXSSFWorkbook ext
     void bug53515() throws Exception {
         try (Workbook wb1 = new SXSSFWorkbook(10)) {
             populateWorkbook(wb1);
-            assertDoesNotThrow(() -> wb1.write(NULL_OUTPUT_STREAM));
-            assertDoesNotThrow(() -> wb1.write(NULL_OUTPUT_STREAM));
+            assertDoesNotThrow(() -> wb1.write(NullOutputStream.INSTANCE));
+            assertDoesNotThrow(() -> wb1.write(NullOutputStream.INSTANCE));
             try (Workbook wb2 = new XSSFWorkbook()) {
                 populateWorkbook(wb2);
-                assertDoesNotThrow(() -> wb2.write(NULL_OUTPUT_STREAM));
-                assertDoesNotThrow(() -> wb2.write(NULL_OUTPUT_STREAM));
+                assertDoesNotThrow(() -> wb2.write(NullOutputStream.INSTANCE));
+                assertDoesNotThrow(() -> wb2.write(NullOutputStream.INSTANCE));
             }
         }
     }
@@ -481,7 +481,7 @@ public final class TestSXSSFWorkbook ext
                 }
             }
 
-            assertDoesNotThrow(() -> swb.write(NULL_OUTPUT_STREAM));
+            assertDoesNotThrow(() -> swb.write(NullOutputStream.INSTANCE));
             swb.dispose();
         }
     }
@@ -499,7 +499,7 @@ public final class TestSXSSFWorkbook ext
         File input = XSSFTestDataSamples.getSampleFile("sample.xlsx");
 
         try (OPCPackage pkg = OPCPackage.open(input, PackageAccess.READ)) {
-            UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
             try (XSSFWorkbook xssf = new XSSFWorkbook(pkg)) {
                 try (SXSSFWorkbook wb = new SXSSFWorkbook(xssf, 2)) {
                     Sheet s = wb.createSheet(sheetName);
@@ -542,7 +542,7 @@ public final class TestSXSSFWorkbook ext
     void addHyperlink() throws Exception {
         try (
             SXSSFWorkbook wb = new SXSSFWorkbook();
-            UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+            UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             SXSSFSheet sheet = wb.createSheet("s1");
             SXSSFRow row = sheet.createRow(0);
@@ -568,7 +568,7 @@ public final class TestSXSSFWorkbook ext
     void addDimension() throws IOException {
         try (
                 SXSSFWorkbook wb = new SXSSFWorkbook();
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             SXSSFSheet sheet = wb.createSheet();
             sheet.createRow(2).createCell(3).setCellValue("top left");
@@ -587,7 +587,7 @@ public final class TestSXSSFWorkbook ext
     void addDimension1() throws IOException {
         try (
                 SXSSFWorkbook wb = new SXSSFWorkbook(1);
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             SXSSFSheet sheet = wb.createSheet();
             sheet.createRow(2).createCell(3).setCellValue("top left");
@@ -612,7 +612,7 @@ public final class TestSXSSFWorkbook ext
             assertEquals(6, sheet.getLastRowNum());
             try (
                     SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(wb);
-                    UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                    UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
             ) {
                 sxssfWorkbook.write(bos);
                 try (XSSFWorkbook xssfWorkbook = new 
XSSFWorkbook(bos.toInputStream())) {
@@ -627,7 +627,7 @@ public final class TestSXSSFWorkbook ext
     void addDimensionDisabled() throws IOException {
         try (
                 SXSSFWorkbook wb = new SXSSFWorkbook();
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             wb.setShouldCalculateSheetDimensions(false);
             SXSSFSheet sheet = wb.createSheet();
@@ -655,7 +655,7 @@ public final class TestSXSSFWorkbook ext
     void dateStyle() throws IOException {
         try (
                 SXSSFWorkbook workbook = new SXSSFWorkbook();
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             SXSSFSheet sheet = workbook.createSheet();
             SXSSFRow row = sheet.createRow(0);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithCustomZipEntrySource.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithCustomZipEntrySource.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithCustomZipEntrySource.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithCustomZipEntrySource.java
 Thu Jun  8 08:53:08 2023
@@ -20,7 +20,6 @@
 package org.apache.poi.xssf.streaming;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -32,6 +31,7 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.List;
 
+import org.apache.commons.io.output.NullOutputStream;
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.openxml4j.opc.OPCPackage;
@@ -58,7 +58,7 @@ public final class TestSXSSFWorkbookWith
     // write an unencrypted workbook to disk, but any temporary files are 
encrypted
     @Test
     void customZipEntrySource() throws IOException {
-        UnsynchronizedByteArrayOutputStream os = new 
UnsynchronizedByteArrayOutputStream(8192);
+        UnsynchronizedByteArrayOutputStream os = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(8192).get();
         try (SXSSFWorkbookWithCustomZipEntrySource workbook = new 
SXSSFWorkbookWithCustomZipEntrySource()) {
             SXSSFSheet sheet1 = workbook.createSheet(sheetName);
             SXSSFRow row1 = sheet1.createRow(1);
@@ -113,7 +113,7 @@ public final class TestSXSSFWorkbookWith
         SXSSFRow row1 = sheet1.createRow(1);
         SXSSFCell cell1 = row1.createCell(1);
         cell1.setCellValue(cellValue);
-        workbook.write(NULL_OUTPUT_STREAM);
+        workbook.write(NullOutputStream.INSTANCE);
         workbook.close();
         List<File> tempFiles = workbook.getTempFiles();
         assertEquals(1, tempFiles.size());

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithNullAutoSizeTracker.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithNullAutoSizeTracker.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithNullAutoSizeTracker.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithNullAutoSizeTracker.java
 Thu Jun  8 08:53:08 2023
@@ -19,6 +19,7 @@
 
 package org.apache.poi.xssf.streaming;
 
+import org.apache.commons.io.output.NullOutputStream;
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.common.usermodel.HyperlinkType;
@@ -44,7 +45,6 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.Arrays;
 
-import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
 import static org.apache.poi.POITestCase.assertEndsWith;
 import static org.apache.poi.POITestCase.assertStartsWith;
 import static org.junit.jupiter.api.Assertions.*;
@@ -337,12 +337,12 @@ final class TestSXSSFWorkbookWithNullAut
     void bug53515() throws Exception {
         try (Workbook wb1 = new SXSSFWorkbook(10)) {
             populateWorkbook(wb1);
-            assertDoesNotThrow(() -> wb1.write(NULL_OUTPUT_STREAM));
-            assertDoesNotThrow(() -> wb1.write(NULL_OUTPUT_STREAM));
+            assertDoesNotThrow(() -> wb1.write(NullOutputStream.INSTANCE));
+            assertDoesNotThrow(() -> wb1.write(NullOutputStream.INSTANCE));
             try (Workbook wb2 = new XSSFWorkbook()) {
                 populateWorkbook(wb2);
-                assertDoesNotThrow(() -> wb2.write(NULL_OUTPUT_STREAM));
-                assertDoesNotThrow(() -> wb2.write(NULL_OUTPUT_STREAM));
+                assertDoesNotThrow(() -> wb2.write(NullOutputStream.INSTANCE));
+                assertDoesNotThrow(() -> wb2.write(NullOutputStream.INSTANCE));
             }
         }
     }
@@ -460,7 +460,7 @@ final class TestSXSSFWorkbookWithNullAut
                 }
             }
 
-            assertDoesNotThrow(() -> swb.write(NULL_OUTPUT_STREAM));
+            assertDoesNotThrow(() -> swb.write(NullOutputStream.INSTANCE));
             swb.dispose();
         }
     }
@@ -478,7 +478,7 @@ final class TestSXSSFWorkbookWithNullAut
         File input = XSSFTestDataSamples.getSampleFile("sample.xlsx");
 
         try (OPCPackage pkg = OPCPackage.open(input, PackageAccess.READ)) {
-            UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
             try (XSSFWorkbook xssf = new XSSFWorkbook(pkg)) {
                 try (SXSSFWorkbook wb = new SXSSFWorkbook(xssf, 2)) {
                     Sheet s = wb.createSheet(sheetName);
@@ -521,7 +521,7 @@ final class TestSXSSFWorkbookWithNullAut
     void addHyperlink() throws Exception {
         try (
             SXSSFWorkbook wb = new SXSSFWorkbook();
-            UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+            UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             SXSSFSheet sheet = wb.createSheet("s1");
             SXSSFRow row = sheet.createRow(0);
@@ -547,7 +547,7 @@ final class TestSXSSFWorkbookWithNullAut
     void addDimension() throws IOException {
         try (
                 SXSSFWorkbook wb = new SXSSFWorkbook();
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             SXSSFSheet sheet = wb.createSheet();
             sheet.createRow(2).createCell(3).setCellValue("top left");
@@ -566,7 +566,7 @@ final class TestSXSSFWorkbookWithNullAut
     void addDimension1() throws IOException {
         try (
                 SXSSFWorkbook wb = new SXSSFWorkbook(1);
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             SXSSFSheet sheet = wb.createSheet();
             sheet.createRow(2).createCell(3).setCellValue("top left");
@@ -591,7 +591,7 @@ final class TestSXSSFWorkbookWithNullAut
             assertEquals(6, sheet.getLastRowNum());
             try (
                     SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(wb);
-                    UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                    UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
             ) {
                 sxssfWorkbook.write(bos);
                 try (XSSFWorkbook xssfWorkbook = new 
XSSFWorkbook(bos.toInputStream())) {
@@ -606,7 +606,7 @@ final class TestSXSSFWorkbookWithNullAut
     void addDimensionDisabled() throws IOException {
         try (
                 SXSSFWorkbook wb = new SXSSFWorkbook();
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             wb.setShouldCalculateSheetDimensions(false);
             SXSSFSheet sheet = wb.createSheet();

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java
 Thu Jun  8 08:53:08 2023
@@ -253,7 +253,7 @@ public final class TestSXSSFBugs extends
 
     @Test
     void test65619() throws Exception {
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             try (SXSSFWorkbook workbook = new SXSSFWorkbook(100)) {
                 SXSSFSheet sheet = workbook.createSheet("Test Sheet 1");
                 Font font = workbook.createFont();
@@ -308,7 +308,7 @@ public final class TestSXSSFBugs extends
             assertEquals(value, cell.getStringCellValue());
             // so far so good
 
-            try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 wb.write(bos);
 
                 try (XSSFWorkbook testWb = new 
XSSFWorkbook(bos.toInputStream())) {
@@ -356,7 +356,7 @@ public final class TestSXSSFBugs extends
             assertEquals(blueStyle.getIndex(), 
r3.getCell(4).getCellStyle().getIndex());
             assertEquals(pinkStyle.getIndex(), 
r3.getCell(6).getCellStyle().getIndex());
 
-            try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 wb.write(bos);
                 try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) 
{
                     XSSFSheet wb2Sheet = wb2.getSheetAt(0);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java
 Thu Jun  8 08:53:08 2023
@@ -278,7 +278,7 @@ public final class TestUnfixedBugs {
         checkRow57423(testSheet, 17, "17");
         checkRow57423(testSheet, 18, "18");
 
-        UnsynchronizedByteArrayOutputStream stream = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream stream = 
UnsynchronizedByteArrayOutputStream.builder().get();
         ((XSSFSheet)testSheet).write(stream);
 
         // verify that the resulting XML has the rows in correct order as 
required by Excel

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
 Thu Jun  8 08:53:08 2023
@@ -19,7 +19,6 @@ package org.apache.poi.xssf.usermodel;
 
 import static java.time.Duration.between;
 import static java.time.Instant.now;
-import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
 import static org.apache.logging.log4j.util.Unbox.box;
 import static org.apache.poi.extractor.ExtractorFactory.OOXML_PACKAGE;
 import static org.apache.poi.openxml4j.opc.TestContentType.isOldXercesActive;
@@ -48,6 +47,7 @@ import java.util.*;
 
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipFile;
+import org.apache.commons.io.output.NullOutputStream;
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -1537,7 +1537,7 @@ public final class TestXSSFBugs extends
                 Thread.sleep(10);
             }
 
-            UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream(8096);
+            UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(8096).get();
             wb.write(bos);
             byte[] firstSave = bos.toByteArray();
             bos.reset();
@@ -2982,7 +2982,7 @@ public final class TestXSSFBugs extends
 
             // we currently only populate the dimension during writing out
             // to avoid having to iterate all rows/cells in each add/remove of 
a row or cell
-            wb.write(NULL_OUTPUT_STREAM);
+            wb.write(NullOutputStream.INSTANCE);
 
             assertEquals("B2:H5", ((XSSFSheet) 
sheet).getCTWorksheet().getDimension().getRef());
         }
@@ -3003,7 +3003,7 @@ public final class TestXSSFBugs extends
 
             // we currently only populate the dimension during writing out
             // to avoid having to iterate all rows/cells in each add/remove of 
a row or cell
-            wb.write(NULL_OUTPUT_STREAM);
+            wb.write(NullOutputStream.INSTANCE);
 
             assertEquals("B2:XFD5", ((XSSFSheet) 
sheet).getCTWorksheet().getDimension().getRef());
         }
@@ -3691,7 +3691,7 @@ public final class TestXSSFBugs extends
             assertEquals(blueStyle.getIndex(), 
r3.getCell(4).getCellStyle().getIndex());
             assertEquals(pinkStyle.getIndex(), 
r3.getCell(6).getCellStyle().getIndex());
 
-            try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 wb.write(bos);
                 try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) 
{
                     XSSFSheet wb2Sheet = wb2.getSheetAt(0);
@@ -3778,13 +3778,13 @@ public final class TestXSSFBugs extends
         }
 
         // read bytes of workbook before
-        UnsynchronizedByteArrayOutputStream bosOrig = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream bosOrig = 
UnsynchronizedByteArrayOutputStream.builder().get();
         try (FileInputStream fis = new FileInputStream(temp_excel_poi)) {
             IOUtils.copy(fis, bosOrig);
         }
 
         // for the encrypted bytes
-        UnsynchronizedByteArrayOutputStream bosEnc = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream bosEnc = 
UnsynchronizedByteArrayOutputStream.builder().get();
 
         /* encrypt excel by poi */
         try (POIFSFileSystem fs = new POIFSFileSystem()) {
@@ -3810,7 +3810,7 @@ public final class TestXSSFBugs extends
         }
 
         // for the decrytped bytes
-        UnsynchronizedByteArrayOutputStream bosDec = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream bosDec = 
UnsynchronizedByteArrayOutputStream.builder().get();
 
         /* decrypt excel by poi */
         try (POIFSFileSystem fileSystem = new 
POIFSFileSystem(temp_excel_poi_encrypt)) {

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java
 Thu Jun  8 08:53:08 2023
@@ -311,7 +311,7 @@ public final class TestXSSFComment exten
 
     @Test
     void bug59388CommentVisible() throws IOException {
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             try (Workbook wb = 
XSSFTestDataSamples.openSampleWorkbook("59388.xlsx")) {
                 Sheet sheet = wb.getSheetAt(0);
                 Cell a1 = sheet.getRow(0).getCell(0);
@@ -474,7 +474,7 @@ public final class TestXSSFComment exten
     }
 
     private void _testMoveIsSaved(Workbook workbook) throws Exception {
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             CreationHelper factory = workbook.getCreationHelper();
             Sheet sheet = workbook.createSheet();
             Row row = sheet.createRow(0);
@@ -511,7 +511,7 @@ public final class TestXSSFComment exten
     }
 
     private void _testModificationIsSaved(Workbook workbook) throws Exception {
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             CreationHelper factory = workbook.getCreationHelper();
             Sheet sheet = workbook.createSheet();
             Row row = sheet.createRow(0);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
 Thu Jun  8 08:53:08 2023
@@ -386,7 +386,7 @@ public final class TestXSSFSheet extends
     void saveGroupColumns() throws IOException {
         try (
                 XSSFWorkbook workbook = new XSSFWorkbook();
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             XSSFSheet sheet = workbook.createSheet();
             XSSFRow row0 = sheet.createRow(0);
@@ -2268,7 +2268,7 @@ public final class TestXSSFSheet extends
     void testBug64536() throws IOException {
         try (
                 XSSFWorkbook xssfWorkbook = (XSSFWorkbook) 
_testDataProvider.openSampleWorkbook("1_NoIden.xlsx");
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             XSSFSheet fileSheet = xssfWorkbook.getSheetAt(0);
             assertEquals(CellRangeAddress.valueOf("B1:D9"), 
fileSheet.getDimension());

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFTable.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFTable.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFTable.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFTable.java
 Thu Jun  8 08:53:08 2023
@@ -651,7 +651,7 @@ public final class TestXSSFTable {
     void testNamesWithNewLines() throws IOException {
         try (
                 XSSFWorkbook wb = new XSSFWorkbook();
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             XSSFSheet sheet = wb.createSheet();
 
@@ -739,7 +739,7 @@ public final class TestXSSFTable {
     void bug66213() throws IOException {
         try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("table-sample.xlsx")) {
             wb.cloneSheet(0, "Test");
-            try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 wb.write(bos);
                 try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) 
{
                     XSSFSheet sheet0 = wb2.getSheetAt(0);
@@ -757,7 +757,7 @@ public final class TestXSSFTable {
     void testCloneConditionalFormattingSamples() throws IOException {
         try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("ConditionalFormattingSamples.xlsx")) {
             wb.cloneSheet(0, "Test");
-            try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 wb.write(bos);
                 try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) 
{
                     XSSFSheet sheet0 = wb2.getSheetAt(0);
@@ -773,7 +773,7 @@ public final class TestXSSFTable {
     void testCloneSingleCellTable() throws IOException {
         try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("SingleCellTable.xlsx")) {
             wb.cloneSheet(0, "Test");
-            try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 wb.write(bos);
                 try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) 
{
                     XSSFSheet sheet0 = wb2.getSheetAt(0);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFVMLDrawing.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFVMLDrawing.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFVMLDrawing.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFVMLDrawing.java
 Thu Jun  8 08:53:08 2023
@@ -103,7 +103,7 @@ class TestXSSFVMLDrawing {
         assertEquals("[True]", cldata.getVisibleList().toString());
 
         //serialize and read again
-        UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
         vml.write(out);
 
         XSSFVMLDrawing vml2 = new XSSFVMLDrawing();

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
 Thu Jun  8 08:53:08 2023
@@ -17,6 +17,7 @@
 
 package org.apache.poi.xssf.usermodel;
 
+import org.apache.commons.io.output.NullOutputStream;
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.hssf.HSSFTestDataSamples;
@@ -80,7 +81,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.zip.CRC32;
 
-import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
 import static org.apache.poi.hssf.HSSFTestDataSamples.openSampleFileStream;
 import static org.apache.poi.xssf.XSSFTestDataSamples.openSampleWorkbook;
 import static org.apache.poi.xssf.XSSFTestDataSamples.writeOut;
@@ -573,7 +573,7 @@ public final class TestXSSFWorkbook exte
             sheet.groupColumn((short) 4, (short) 5);
 
             accessWorkbook(workbook);
-            workbook.write(NULL_OUTPUT_STREAM);
+            workbook.write(NullOutputStream.INSTANCE);
             accessWorkbook(workbook);
         }
     }
@@ -1240,7 +1240,7 @@ public final class TestXSSFWorkbook exte
 
     @Test
     void testNewWorkbookWithTempFilePackageParts() throws Exception {
-        try(UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try(UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             assertFalse(ZipPackage.useTempFilePackageParts(), 
"useTempFilePackageParts defaults to false?");
             assertFalse(ZipPackage.encryptTempFilePackageParts(), 
"encryptTempFilePackageParts defaults to false?");
             ZipPackage.setUseTempFilePackageParts(true);
@@ -1264,7 +1264,7 @@ public final class TestXSSFWorkbook exte
 
     @Test
     void testNewWorkbookWithEncryptedTempFilePackageParts() throws Exception {
-        try(UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try(UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             assertFalse(ZipPackage.useTempFilePackageParts(), 
"useTempFilePackageParts defaults to false?");
             assertFalse(ZipPackage.encryptTempFilePackageParts(), 
"encryptTempFilePackageParts defaults to false?");
             ZipPackage.setUseTempFilePackageParts(true);
@@ -1293,8 +1293,8 @@ public final class TestXSSFWorkbook exte
         String nameA = "link-external-workbook-a.xlsx";
 
         try (
-                UnsynchronizedByteArrayOutputStream bosA = new 
UnsynchronizedByteArrayOutputStream();
-                UnsynchronizedByteArrayOutputStream bosB = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream bosA = 
UnsynchronizedByteArrayOutputStream.builder().get();
+                UnsynchronizedByteArrayOutputStream bosB = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 XSSFWorkbook workbookA = new XSSFWorkbook();
                 XSSFWorkbook workbookB = new XSSFWorkbook()
         ) {
@@ -1343,8 +1343,8 @@ public final class TestXSSFWorkbook exte
         String nameA = "cache-external-workbook-a.xlsx";
 
         try (
-                UnsynchronizedByteArrayOutputStream bosA = new 
UnsynchronizedByteArrayOutputStream();
-                UnsynchronizedByteArrayOutputStream bosB = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream bosA = 
UnsynchronizedByteArrayOutputStream.builder().get();
+                UnsynchronizedByteArrayOutputStream bosB = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 XSSFWorkbook workbookA = new XSSFWorkbook();
                 XSSFWorkbook workbookB = new XSSFWorkbook()
         ) {
@@ -1381,7 +1381,7 @@ public final class TestXSSFWorkbook exte
     @Test
     void checkExistingFileForR1C1Refs() throws IOException {
         try (
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 XSSFWorkbook wb = openSampleWorkbook("WithTable.xlsx")
         ) {
             assertEquals(CellReferenceType.A1, wb.getCellReferenceType());
@@ -1397,7 +1397,7 @@ public final class TestXSSFWorkbook exte
     @Test
     void checkNewFileForR1C1Refs() throws IOException {
         try (
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 XSSFWorkbook wb = new XSSFWorkbook()
         ) {
             assertEquals(CellReferenceType.UNKNOWN, wb.getCellReferenceType());

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/charts/TestXSSFBubbleChartData.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/charts/TestXSSFBubbleChartData.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/charts/TestXSSFBubbleChartData.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/charts/TestXSSFBubbleChartData.java
 Thu Jun  8 08:53:08 2023
@@ -152,7 +152,7 @@ final class TestXSSFBubbleChartData {
             setRoundedCorners(chart, false);
 
             // Write the output to a file
-            try (UnsynchronizedByteArrayOutputStream outStream = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream outStream = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 wb.write(outStream);
                 try (XSSFWorkbook wb2 = new 
XSSFWorkbook(outStream.toInputStream())) {
                     // see if this fails

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/util/TestEvilUnclosedBRFixingInputStream.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/util/TestEvilUnclosedBRFixingInputStream.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/util/TestEvilUnclosedBRFixingInputStream.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/util/TestEvilUnclosedBRFixingInputStream.java
 Thu Jun  8 08:53:08 2023
@@ -69,7 +69,7 @@ public final class TestEvilUnclosedBRFix
         //  overflow or only part in the buffer
         for(int i=5; i<orig.length; i++) {
             try (EvilUnclosedBRFixingInputStream inp = new 
EvilUnclosedBRFixingInputStream(orig);
-                 UnsynchronizedByteArrayOutputStream bout = new 
UnsynchronizedByteArrayOutputStream()) {
+                 UnsynchronizedByteArrayOutputStream bout = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 for (;;) {
                     byte[] b = new byte[i];
                     int r = inp.read(b);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/XWPFTestDataSamples.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/XWPFTestDataSamples.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/XWPFTestDataSamples.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/XWPFTestDataSamples.java 
Thu Jun  8 08:53:08 2023
@@ -32,7 +32,7 @@ public class XWPFTestDataSamples {
     }
 
     public static XWPFDocument writeOutAndReadBack(XWPFDocument doc) throws 
IOException {
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream(4096);
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(4096).get();
         doc.write(baos);
         return new XWPFDocument(baos.toInputStream());
     }

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/usermodel/TestChangeTracking.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/usermodel/TestChangeTracking.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/usermodel/TestChangeTracking.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/usermodel/TestChangeTracking.java
 Thu Jun  8 08:53:08 2023
@@ -58,7 +58,7 @@ class TestChangeTracking {
             r1.setText("Lorem ipsum dolor sit amet.");
             doc.setTrackRevisions(true);
 
-            try (UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 doc.write(out);
 
                 try (InputStream inputStream = out.toInputStream()) {

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java
 Thu Jun  8 08:53:08 2023
@@ -185,7 +185,12 @@ public class OLE2ScratchpadExtractorFact
             for (AttachmentChunks attachment : msg.getAttachmentFiles()) {
                 if (attachment.getAttachData() != null) {
                     byte[] data = attachment.getAttachData().getValue();
-                    nonPOIFS.add( new UnsynchronizedByteArrayInputStream(data) 
);
+                    try {
+                        
nonPOIFS.add(UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get()
 );
+                    } catch (IOException e) {
+                        // is actually impossible with ByteArray, but still 
declared in the interface
+                        throw new IllegalStateException(e);
+                    }
                 } else if (attachment.getAttachmentDirectory() != null) {
                     
dirs.add(attachment.getAttachmentDirectory().getDirectory());
                 }

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hdgf/HDGFLZW.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hdgf/HDGFLZW.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hdgf/HDGFLZW.java 
(original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hdgf/HDGFLZW.java Thu 
Jun  8 08:53:08 2023
@@ -53,7 +53,7 @@ public class HDGFLZW extends LZWDecompre
     * @throws IOException when the InputStream can't be read
     */
    public byte[] compress(InputStream src) throws IOException {
-      UnsynchronizedByteArrayOutputStream res = new 
UnsynchronizedByteArrayOutputStream();
+      UnsynchronizedByteArrayOutputStream res = 
UnsynchronizedByteArrayOutputStream.builder().get();
       compress(src,res);
       return res.toByteArray();
    }

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hdgf/streams/CompressedStreamStore.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hdgf/streams/CompressedStreamStore.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hdgf/streams/CompressedStreamStore.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hdgf/streams/CompressedStreamStore.java
 Thu Jun  8 08:53:08 2023
@@ -92,7 +92,7 @@ public final class CompressedStreamStore
      * Decompresses the given data, returning it as header + contents
      */
     public static byte[][] decompress(byte[] data, int offset, int length) 
throws IOException {
-        try (UnsynchronizedByteArrayInputStream bais = new 
UnsynchronizedByteArrayInputStream(data, offset, length)) {
+        try (UnsynchronizedByteArrayInputStream bais = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(data).setOffset(offset).setLength(length).get())
 {
             // Decompress
             HDGFLZW lzw = new HDGFLZW();
             byte[] decompressed = lzw.decompress(bais);

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/draw/HemfImageRenderer.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/draw/HemfImageRenderer.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/draw/HemfImageRenderer.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/draw/HemfImageRenderer.java
 Thu Jun  8 08:53:08 2023
@@ -65,7 +65,7 @@ public class HemfImageRenderer implement
         if (!PictureData.PictureType.EMF.contentType.equals(contentType)) {
             throw new IOException("Invalid picture type");
         }
-        image = new HemfPicture(new UnsynchronizedByteArrayInputStream(data));
+        image = new 
HemfPicture(UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get());
     }
 
     @Override

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/HemfFill.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/HemfFill.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/HemfFill.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/HemfFill.java
 Thu Jun  8 08:53:08 2023
@@ -792,7 +792,7 @@ public final class HemfFill {
             return (long)undefinedSpace1 + bitmap.init(leis, dibSize);
         }
 
-        final UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream(cbBmi+cbBits);
+        final UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(cbBmi+cbBits).get();
         final long cbBmiSrcAct = IOUtils.copy(leis, bos, cbBmi);
         assert (cbBmiSrcAct == cbBmi);
         leis.skipFully(undefinedSpace2);

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusBrush.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusBrush.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusBrush.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusBrush.java
 Thu Jun  8 08:53:08 2023
@@ -396,7 +396,7 @@ public class HemfPlusBrush {
         public EmfPlusBrushData getBrushData(List<? extends EmfPlusObjectData> 
continuedObjectData) {
             EmfPlusBrushData brushData = brushType.constructor.get();
             byte[] buf = getRawData(continuedObjectData);
-            try (UnsynchronizedByteArrayInputStream bis = new 
UnsynchronizedByteArrayInputStream(buf)){
+            try (UnsynchronizedByteArrayInputStream bis = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(buf).get()){
                 brushData.init(new LittleEndianInputStream(bis), buf.length);
             } catch (IOException e) {
                 throw new IllegalStateException(e);
@@ -410,7 +410,7 @@ public class HemfPlusBrush {
          * @throws IllegalStateException if the data cannot be processed
          */
         public byte[] getRawData(List<? extends EmfPlusObjectData> 
continuedObjectData) {
-            try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 bos.write(getBrushBytes());
                 if (continuedObjectData != null) {
                     for (EmfPlusObjectData od : continuedObjectData) {

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusImage.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusImage.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusImage.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusImage.java
 Thu Jun  8 08:53:08 2023
@@ -419,13 +419,13 @@ public class HemfPlusImage {
                         if (getBitmapType() == EmfPlusBitmapDataType.PIXEL) {
                             return new Rectangle2D.Double(0, 0, bitmapWidth, 
bitmapHeight);
                         } else {
-                            try(UnsynchronizedByteArrayInputStream is = new 
UnsynchronizedByteArrayInputStream(getRawData(continuedObjectData))) {
+                            try(UnsynchronizedByteArrayInputStream is = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(getRawData(continuedObjectData)).get())
 {
                                 BufferedImage bi = ImageIO.read(is);
                                 return new Rectangle2D.Double(bi.getMinX(), 
bi.getMinY(), bi.getWidth(), bi.getHeight());
                             }
                         }
                     case METAFILE:
-                        try(UnsynchronizedByteArrayInputStream bis = new 
UnsynchronizedByteArrayInputStream(getRawData(continuedObjectData))) {
+                        try(UnsynchronizedByteArrayInputStream bis = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(getRawData(continuedObjectData)).get())
 {
                             switch (getMetafileType()) {
                                 case Wmf:
                                 case WmfPlaceable:
@@ -453,7 +453,7 @@ public class HemfPlusImage {
          * @throws IllegalStateException if the data cannot be read
          */
         public byte[] getRawData(List<? extends EmfPlusObjectData> 
continuedObjectData) {
-            try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 bos.write(getImageData());
                 if (continuedObjectData != null) {
                     for (EmfPlusObjectData od : continuedObjectData) {

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java
 Thu Jun  8 08:53:08 2023
@@ -293,7 +293,7 @@ public class HemfEmbeddedIterator implem
     private void compressGDIBitmap(EmfPlusImage img, HwmfEmbedded emb, 
HwmfEmbeddedType et) {
         BufferedImage bi = img.readGDIImage(emb.getRawData());
         try {
-            UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
             // use HwmfEmbeddedType literal for conversion
             ImageIO.write(bi, et.toString(), bos);
             emb.setData(bos.toByteArray());
@@ -318,7 +318,7 @@ public class HemfEmbeddedIterator implem
             : epo.getTotalObjectSize();
         IOUtils.safelyAllocateCheck(totalSize, MAX_RECORD_LENGTH);
 
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream(totalSize)) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(totalSize).get()) {
             boolean hasNext = false;
             do {
                 EmfPlusImage img = epo.getObjectData();

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/attribute/MAPIAttribute.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/attribute/MAPIAttribute.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/attribute/MAPIAttribute.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/attribute/MAPIAttribute.java
 Thu Jun  8 08:53:08 2023
@@ -116,7 +116,7 @@ public class MAPIAttribute {
                "instead received a " + parent.getProperty() + " one"
          );
       }
-      try(UnsynchronizedByteArrayInputStream inp = new 
UnsynchronizedByteArrayInputStream(parent.getData())) {
+      try(UnsynchronizedByteArrayInputStream inp = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(parent.getData()).get())
 {
          // First up, get the number of attributes
          int count = LittleEndian.readInt(inp);
          List<MAPIAttribute> attrs = new ArrayList<>();

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/attribute/MAPIRtfAttribute.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/attribute/MAPIRtfAttribute.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/attribute/MAPIRtfAttribute.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/attribute/MAPIRtfAttribute.java
 Thu Jun  8 08:53:08 2023
@@ -46,7 +46,7 @@ public final class MAPIRtfAttribute exte
       // Decompress it, removing any trailing padding as needed
       CompressedRTF rtf = new CompressedRTF();
       byte[] tmp;
-      try (InputStream is = new UnsynchronizedByteArrayInputStream(data)) {
+      try (InputStream is = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get()) {
          tmp = rtf.decompress(is);
       }
 

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/HPBFPart.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/HPBFPart.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/HPBFPart.java 
(original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/HPBFPart.java 
Thu Jun  8 08:53:08 2023
@@ -83,7 +83,7 @@ public abstract class HPBFPart {
         generateData();
 
         // Write out
-        try (UnsynchronizedByteArrayInputStream bais = new 
UnsynchronizedByteArrayInputStream(data)) {
+        try (UnsynchronizedByteArrayInputStream bais = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get()) {
             dir.createDocument(path[path.length-1], bais);
         }
     }

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Bitmap.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Bitmap.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Bitmap.java 
(original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Bitmap.java 
Thu Jun  8 08:53:08 2023
@@ -91,7 +91,7 @@ public abstract class Bitmap extends HSL
 
     @Override
     public Dimension getImageDimension() {
-        try (InputStream is = new 
UnsynchronizedByteArrayInputStream(getData())){
+        try (InputStream is = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(getData()).get()){
             BufferedImage bi = ImageIO.read(is);
             return new Dimension(
                 (int)Units.pixelToPoints(bi.getWidth()),

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/EMF.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/EMF.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/EMF.java 
(original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/EMF.java 
Thu Jun  8 08:53:08 2023
@@ -69,9 +69,9 @@ public final class EMF extends Metafile
         header.read(rawdata, CHECKSUM_SIZE);
 
         try (
-                InputStream is = new 
UnsynchronizedByteArrayInputStream(rawdata);
+                InputStream is = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(rawdata).get();
                 InflaterInputStream inflater = new InflaterInputStream(is);
-                UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             long len = IOUtils.skipFully(is,header.getSize() + 
(long)CHECKSUM_SIZE);
             assert(len == header.getSize() + CHECKSUM_SIZE);

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Metafile.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Metafile.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Metafile.java 
(original)
+++ 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Metafile.java 
Thu Jun  8 08:53:08 2023
@@ -91,7 +91,7 @@ public abstract class Metafile extends H
         public void read(byte[] data, int offset) {
             try (
                     LittleEndianInputStream leis = new LittleEndianInputStream(
-                            new UnsynchronizedByteArrayInputStream(data, 
offset, RECORD_LENGTH))
+                            
UnsynchronizedByteArrayInputStream.builder().setByteArray(data).setOffset(offset).setLength(RECORD_LENGTH).get())
             ) {
                 wmfsize = leis.readInt();
 
@@ -204,7 +204,7 @@ public abstract class Metafile extends H
     }
 
     protected static byte[] compress(byte[] bytes, int offset, int length) {
-        UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
         try (DeflaterOutputStream deflater = new DeflaterOutputStream(out)) {
             deflater.write(bytes, offset, length);
         } catch (IOException ignored) {

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/PICT.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/PICT.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/PICT.java 
(original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/PICT.java 
Thu Jun  8 08:53:08 2023
@@ -72,7 +72,7 @@ public final class PICT extends Metafile
     @Override
     public byte[] getData(){
         byte[] rawdata = getRawData();
-        try (UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             byte[] macheader = new byte[512];
             out.write(macheader);
             int pos = CHECKSUM_SIZE*getUIDInstanceCount();
@@ -88,13 +88,13 @@ public final class PICT extends Metafile
         Header header = new Header();
         header.read(data, pos);
         long bs_exp = (long)pos + header.getSize();
-        try (InputStream bis = new UnsynchronizedByteArrayInputStream(data)) {
+        try (InputStream bis = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get()) {
             long bs_act = IOUtils.skipFully(bis, bs_exp);
             if (bs_exp != bs_act) {
                 throw new EOFException();
             }
             byte[] chunk = new byte[4096];
-            try (UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream(header.getWmfSize())) {
+            try (UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(header.getWmfSize()).get())
 {
                 try (InflaterInputStream inflater = new 
InflaterInputStream(bis)) {
                     int count;
                     while ((count = inflater.read(chunk)) >= 0) {

Modified: 
poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/WMF.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/WMF.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/WMF.java 
(original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/WMF.java 
Thu Jun  8 08:53:08 2023
@@ -65,7 +65,7 @@ public final class WMF extends Metafile
     @Override
     public byte[] getData(){
         byte[] rawdata = getRawData();
-        try (InputStream is = new UnsynchronizedByteArrayInputStream(rawdata)) 
{
+        try (InputStream is = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(rawdata).get()) {
 
 
             Header header = new Header();
@@ -75,7 +75,7 @@ public final class WMF extends Metafile
             assert(skipped == skipLen);
 
             ImageHeaderWMF aldus = new ImageHeaderWMF(header.getBounds());
-            UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
             aldus.write(out);
 
             try (InflaterInputStream inflater = new InflaterInputStream( is )) 
{



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to