Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/record/TestUserEditAtom.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/record/TestUserEditAtom.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/record/TestUserEditAtom.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/record/TestUserEditAtom.java
 Thu Jun  8 08:53:08 2023
@@ -56,7 +56,7 @@ public final class TestUserEditAtom {
     @Test
     void testWrite() throws Exception {
         UserEditAtom uea = new UserEditAtom(data_a, 0, data_a.length);
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
         uea.writeOut(baos);
         assertArrayEquals(data_a, baos.toByteArray());
     }

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestHSLFSlideShow.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestHSLFSlideShow.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestHSLFSlideShow.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestHSLFSlideShow.java
 Thu Jun  8 08:53:08 2023
@@ -40,7 +40,7 @@ public class TestHSLFSlideShow extends B
 
     @Override
     public HSLFSlideShow reopen(SlideShow<HSLFShape, HSLFTextParagraph> show) 
throws IOException {
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             show.write(bos);
             try (InputStream is = bos.toInputStream()) {
                 return new HSLFSlideShow(is);

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestPictures.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestPictures.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestPictures.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestPictures.java
 Thu Jun  8 08:53:08 2023
@@ -17,7 +17,6 @@
 
 package org.apache.poi.hslf.usermodel;
 
-import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
 import static org.apache.poi.hslf.HSLFTestDataSamples.getSlideShow;
 import static org.apache.poi.hslf.HSLFTestDataSamples.writeOutAndReadBack;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
@@ -38,6 +37,7 @@ import java.util.List;
 import javax.imageio.ImageIO;
 
 import org.apache.commons.io.output.CountingOutputStream;
+import org.apache.commons.io.output.NullOutputStream;
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.ddf.EscherBSERecord;
 import org.apache.poi.ddf.EscherContainerRecord;
@@ -315,7 +315,7 @@ public final class TestPictures {
             assertEquals(PictureType.WMF, pdata.getType());
 
             //add a new picture, it should be correctly appended to the 
Pictures stream
-            CountingOutputStream out = new 
CountingOutputStream(NULL_OUTPUT_STREAM);
+            CountingOutputStream out = new 
CountingOutputStream(NullOutputStream.INSTANCE);
             for (HSLFPictureData p : pictures) p.write(out);
 
             int streamSize = out.getCount();

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestRichTextRun.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestRichTextRun.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestRichTextRun.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestRichTextRun.java
 Thu Jun  8 08:53:08 2023
@@ -409,7 +409,7 @@ public final class TestRichTextRun {
 
         // Now write out the slideshow
         byte[] raw_ss;
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
         s.write(baos);
         try (POIFSFileSystem fs = new POIFSFileSystem(baos.toInputStream());
             InputStream is = 
fs.createDocumentInputStream(HSLFSlideShow.POWERPOINT_DOCUMENT)) {
@@ -424,7 +424,7 @@ public final class TestRichTextRun {
     }
 
     private byte[] writeRecord( org.apache.poi.hslf.record.Record r) throws 
IOException {
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
         r.writeOut(baos);
         return baos.toByteArray();
     }

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestExtractEmbeddedMSG.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestExtractEmbeddedMSG.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestExtractEmbeddedMSG.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestExtractEmbeddedMSG.java
 Thu Jun  8 08:53:08 2023
@@ -81,7 +81,7 @@ public class TestExtractEmbeddedMSG {
             testFixedAndVariableLengthPropertiesOfAttachedMSG(attachedMsg);
             // rebuild top level message from embedded message
             try (POIFSFileSystem extractedAttachedMsg = 
rebuildFromAttached(attachedMsg)) {
-                try (UnsynchronizedByteArrayOutputStream 
extractedAttachedMsgOut = new UnsynchronizedByteArrayOutputStream()) {
+                try (UnsynchronizedByteArrayOutputStream 
extractedAttachedMsgOut = UnsynchronizedByteArrayOutputStream.builder().get()) {
                     
extractedAttachedMsg.writeFilesystem(extractedAttachedMsgOut);
                     MAPIMessage extractedMsgTopLevel = new 
MAPIMessage(extractedAttachedMsgOut.toInputStream());
                     // test properties of rebuilt embedded message
@@ -171,7 +171,7 @@ public class TestExtractEmbeddedMSG {
                 MAPIType type = Types.getById(iType);
                 if (type != null && type != Types.UNKNOWN) {
                     MAPIProperty mprop = 
MAPIProperty.createCustom(chunk.getChunkId(), type, chunk.getEntryName());
-                    UnsynchronizedByteArrayOutputStream data = new 
UnsynchronizedByteArrayOutputStream();
+                    UnsynchronizedByteArrayOutputStream data = 
UnsynchronizedByteArrayOutputStream.builder().get();
                     chunk.writeValue(data);
                     PropertyValue pval = new PropertyValue(mprop, 
MessagePropertiesChunk.PROPERTIES_FLAG_READABLE
                             | 
MessagePropertiesChunk.PROPERTIES_FLAG_WRITEABLE, data.toByteArray(), type);

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestFileWithAttachmentsRead.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestFileWithAttachmentsRead.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestFileWithAttachmentsRead.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestFileWithAttachmentsRead.java
 Thu Jun  8 08:53:08 2023
@@ -119,7 +119,7 @@ public class TestFileWithAttachmentsRead
         assertEquals("test-unicode.doc", 
attachment.getAttachLongFileName().getValue());
         assertEquals(".doc", attachment.getAttachExtension().getValue());
         assertNull(attachment.getAttachMimeTag());
-        UnsynchronizedByteArrayOutputStream attachmentstream = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream attachmentstream = 
UnsynchronizedByteArrayOutputStream.builder().get();
         attachment.getAttachData().writeValue(attachmentstream);
         assertEquals(24064, attachmentstream.size());
         // or compare the hashes of the attachment data

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestFixedSizedProperties.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestFixedSizedProperties.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestFixedSizedProperties.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestFixedSizedProperties.java
 Thu Jun  8 08:53:08 2023
@@ -168,7 +168,7 @@ public final class TestFixedSizedPropert
    @Test
    void testReadMessageDateSucceedsWithHSMFDump() {
        HSMFDump dump = new HSMFDump(fsMessageSucceeds);
-       assertDoesNotThrow(() -> dump.dump(new NullPrintStream()));
+       assertDoesNotThrow(() -> dump.dump(NullPrintStream.INSTANCE));
    }
 
    /**
@@ -177,7 +177,7 @@ public final class TestFixedSizedPropert
    @Test
    void testReadMessageDateFailsWithHSMFDump() {
        HSMFDump dump = new HSMFDump(fsMessageFails);
-       assertDoesNotThrow(() -> dump.dump(new NullPrintStream()));
+       assertDoesNotThrow(() -> dump.dump(NullPrintStream.INSTANCE));
    }
 
    /**

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/HWPFTestCase.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/HWPFTestCase.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/HWPFTestCase.java 
(original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/HWPFTestCase.java 
Thu Jun  8 08:53:08 2023
@@ -49,7 +49,7 @@ public abstract class HWPFTestCase {
     }
 
     public HWPFDocument writeOutAndRead(HWPFDocument doc) {
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             doc.write(baos);
             try (InputStream is = baos.toInputStream()) {
                 return new HWPFDocument(is);

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/HWPFTestDataSamples.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/HWPFTestDataSamples.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/HWPFTestDataSamples.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/HWPFTestDataSamples.java
 Thu Jun  8 08:53:08 2023
@@ -48,7 +48,7 @@ public class HWPFTestDataSamples {
      * Useful for verifying that the serialisation round trip
      */
     public static HWPFDocument writeOutAndReadBack(HWPFDocument original) {
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream(4096)) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(4096).get()) {
             original.write(baos);
             return new HWPFDocument(baos.toInputStream());
         } catch (IOException e) {

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/dev/TestHWPFLister.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/dev/TestHWPFLister.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/dev/TestHWPFLister.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/dev/TestHWPFLister.java
 Thu Jun  8 08:53:08 2023
@@ -42,7 +42,7 @@ public class TestHWPFLister {
         String fileArgs = SAMPLES.getFile("SampleDoc.doc").getAbsolutePath() + 
args;
 
         PrintStream oldStdOut = System.out;
-        System.setOut(new NullPrintStream());
+        System.setOut(NullPrintStream.INSTANCE);
         try {
 
             assertDoesNotThrow(() -> HWPFLister.main(fileArgs.split(" ")));

Modified: 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/usermodel/TestHWPFWrite.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/usermodel/TestHWPFWrite.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/usermodel/TestHWPFWrite.java
 (original)
+++ 
poi/trunk/poi-scratchpad/src/test/java/org/apache/poi/hwpf/usermodel/TestHWPFWrite.java
 Thu Jun  8 08:53:08 2023
@@ -47,7 +47,7 @@ public final class TestHWPFWrite extends
      */
     @Test
     void testWriteStream() throws IOException {
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
         try (HWPFDocument doc = 
HWPFTestDataSamples.openSampleFile("SampleDoc.doc")) {
             Range r = doc.getRange();
             assertEquals("I am a test document\r", r.getParagraph(0).text());

Modified: poi/trunk/poi/src/main/java/org/apache/poi/POIDocument.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/POIDocument.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/POIDocument.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/POIDocument.java Thu Jun  8 
08:53:08 2023
@@ -336,7 +336,7 @@ public abstract class POIDocument implem
      *      {@link POIFSFileSystem} occurs
      */
     private void writePropertySet(String name, PropertySet set, 
POIFSFileSystem outFS) throws IOException {
-        try (UnsynchronizedByteArrayOutputStream bOut = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bOut = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             PropertySet mSet = new PropertySet(set);
             mSet.write(bOut);
 

Modified: poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherMetafileBlip.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherMetafileBlip.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherMetafileBlip.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ddf/EscherMetafileBlip.java Thu 
Jun  8 08:53:08 2023
@@ -192,8 +192,8 @@ public final class EscherMetafileBlip ex
      * @return the inflated picture data.
      */
     private static byte[] inflatePictureData(byte[] data) {
-        try (InflaterInputStream in = new InflaterInputStream(new 
UnsynchronizedByteArrayInputStream(data));
-             UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (InflaterInputStream in = new 
InflaterInputStream(UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get());
+             UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             IOUtils.copy(in, out);
             return out.toByteArray();
         } catch (IOException e) {
@@ -410,7 +410,7 @@ public final class EscherMetafileBlip ex
         // "... LZ compression algorithm in the format used by GNU Zip 
deflate/inflate with a 32k window ..."
         // not sure what to do, when lookup tables exceed 32k ...
 
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             try (DeflaterOutputStream dos = new DeflaterOutputStream(bos)) {
                 dos.write(pictureData);
             }

Modified: poi/trunk/poi/src/main/java/org/apache/poi/hpsf/Property.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hpsf/Property.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hpsf/Property.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hpsf/Property.java Thu Jun  8 
08:53:08 2023
@@ -272,7 +272,7 @@ public class Property {
 
         /* Variable length: */
         if (type == Variant.VT_LPSTR || type == Variant.VT_LPWSTR) {
-            UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
             try {
                 length = write(bos, property) - 2*LittleEndianConsts.INT_SIZE;
                 /* Pad to multiples of 4. */
@@ -399,7 +399,7 @@ public class Property {
         if (value instanceof String) {
             b.append((String)value);
             b.append("\n");
-            UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
             try {
                 write(bos, codepage);
             } catch (Exception e) {

Modified: poi/trunk/poi/src/main/java/org/apache/poi/hpsf/PropertySet.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hpsf/PropertySet.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hpsf/PropertySet.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hpsf/PropertySet.java Thu Jun  8 
08:53:08 2023
@@ -514,7 +514,7 @@ public class PropertySet {
     }
 
     private byte[] toBytes() throws WritingNotSupportedException, IOException {
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
             LittleEndianOutputStream leos = new LittleEndianOutputStream(bos)) 
{
 
             /* Write the number of sections in this property set stream. */
@@ -599,7 +599,7 @@ public class PropertySet {
      * @throws IOException if an I/O exception occurs.
      */
     public InputStream toInputStream() throws WritingNotSupportedException, 
IOException {
-        return new UnsynchronizedByteArrayInputStream(toBytes());
+        return 
UnsynchronizedByteArrayInputStream.builder().setByteArray(toBytes()).get();
     }
 
     /**

Modified: poi/trunk/poi/src/main/java/org/apache/poi/hpsf/Section.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hpsf/Section.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hpsf/Section.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hpsf/Section.java Thu Jun  8 
08:53:08 2023
@@ -64,7 +64,7 @@ public class Section {
      * established when the section's size is calculated and can be reused
      * later. If the array is empty, the section was modified and the bytes 
need to be regenerated.
      */
-    private final UnsynchronizedByteArrayOutputStream sectionBytes = new 
UnsynchronizedByteArrayOutputStream();
+    private final UnsynchronizedByteArrayOutputStream sectionBytes = 
UnsynchronizedByteArrayOutputStream.builder().get();
 
     /**
      * The offset of the section in the stream.
@@ -733,7 +733,7 @@ public class Section {
         }
 
         final int[][] offsets = new int[properties.size()][2];
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
             LittleEndianOutputStream leos = new LittleEndianOutputStream(bos)) 
{
 
             /* Write the section's length - dummy value, fixed later */

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/DConRefRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/DConRefRecord.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/DConRefRecord.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/DConRefRecord.java 
Thu Jun  8 08:53:08 2023
@@ -18,6 +18,7 @@
  */
 package org.apache.poi.hssf.record;
 
+import java.io.IOException;
 import java.util.Arrays;
 import java.util.Map;
 import java.util.function.Supplier;
@@ -278,7 +279,13 @@ public class DConRefRecord extends Stand
     }
 
     private static RecordInputStream bytesToRIStream(byte[] data) {
-        RecordInputStream ric = new RecordInputStream(new 
UnsynchronizedByteArrayInputStream(data));
+        RecordInputStream ric = null;
+        try {
+            ric = new 
RecordInputStream(UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get());
+        } catch (IOException e) {
+            // not possible with ByteArray but still declared in the API
+            throw new IllegalStateException(e);
+        }
         ric.nextRecord();
         return ric;
     }

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/DrawingRecordForBiffViewer.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/DrawingRecordForBiffViewer.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/DrawingRecordForBiffViewer.java
 (original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/DrawingRecordForBiffViewer.java
 Thu Jun  8 08:53:08 2023
@@ -19,6 +19,7 @@ package org.apache.poi.hssf.record;
 
 import org.apache.commons.io.input.UnsynchronizedByteArrayInputStream;
 
+import java.io.IOException;
 import java.util.Map;
 import java.util.function.Supplier;
 
@@ -48,9 +49,15 @@ public final class DrawingRecordForBiffV
     private static RecordInputStream convertToInputStream(DrawingRecord r)
     {
         byte[] data = r.serialize();
-        RecordInputStream rinp = new RecordInputStream(
-                new UnsynchronizedByteArrayInputStream(data)
-        );
+        RecordInputStream rinp = null;
+        try {
+            rinp = new RecordInputStream(
+                    
UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get()
+            );
+        } catch (IOException e) {
+            // not possible with ByteArray but still declared in the API
+            throw new IllegalStateException(e);
+        }
         rinp.nextRecord();
         return rinp;
     }

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/EmbeddedObjectRefSubRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/EmbeddedObjectRefSubRecord.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/EmbeddedObjectRefSubRecord.java
 (original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/EmbeddedObjectRefSubRecord.java
 Thu Jun  8 08:53:08 2023
@@ -180,7 +180,7 @@ public final class EmbeddedObjectRefSubR
 
     private static Ptg readRefPtg(byte[] formulaRawBytes) {
         try (LittleEndianInputStream in = new LittleEndianInputStream(
-                new UnsynchronizedByteArrayInputStream(formulaRawBytes))) {
+                
UnsynchronizedByteArrayInputStream.builder().setByteArray(formulaRawBytes).get()))
 {
             byte ptgSid = in.readByte();
             switch(ptgSid) {
                 case AreaPtg.sid:   return new AreaPtg(in);

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/EscherAggregate.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/EscherAggregate.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/EscherAggregate.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/EscherAggregate.java 
Thu Jun  8 08:53:08 2023
@@ -1034,7 +1034,7 @@ public final class EscherAggregate exten
 
     private static class ShapeCollector extends DefaultEscherRecordFactory {
         final List<EscherRecord> objShapes = new ArrayList<>();
-        final UnsynchronizedByteArrayOutputStream buffer = new 
UnsynchronizedByteArrayOutputStream();
+        final UnsynchronizedByteArrayOutputStream buffer = 
UnsynchronizedByteArrayOutputStream.builder().get();
 
         void addBytes(byte[] data) {
             try {

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/FilePassRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/FilePassRecord.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/FilePassRecord.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/FilePassRecord.java 
Thu Jun  8 08:53:08 2023
@@ -122,7 +122,7 @@ public final class FilePassRecord extend
 
     @Override
     protected int getDataSize() {
-        UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
         LittleEndianOutputStream leos = new LittleEndianOutputStream(bos);
         serialize(leos);
         return bos.size();

Modified: poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/Record.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/Record.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/Record.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/Record.java Thu Jun  
8 08:53:08 2023
@@ -17,6 +17,8 @@
 
 package org.apache.poi.hssf.record;
 
+import java.io.IOException;
+
 import org.apache.commons.io.input.UnsynchronizedByteArrayInputStream;
 import org.apache.poi.common.Duplicatable;
 import org.apache.poi.common.usermodel.GenericRecord;
@@ -75,7 +77,13 @@ public abstract class Record extends Rec
         // Do it via a re-serialization
         // It's a cheat, but it works...
         byte[] b = serialize();
-        RecordInputStream rinp = new RecordInputStream(new 
UnsynchronizedByteArrayInputStream(b));
+        RecordInputStream rinp = null;
+        try {
+            rinp = new 
RecordInputStream(UnsynchronizedByteArrayInputStream.builder().setByteArray(b).get());
+        } catch (IOException e) {
+            // not possible with ByteArray but still declared in the API
+            throw new IllegalStateException(e);
+        }
         rinp.nextRecord();
 
         Record[] r = RecordFactory.createRecord(rinp);

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java 
(original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java 
Thu Jun  8 08:53:08 2023
@@ -453,7 +453,7 @@ public final class RecordInputStream imp
      */
     @Deprecated
     public byte[] readAllContinuedRemainder() {
-        try (UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream(2 * MAX_RECORD_DATA_SIZE)) {
+        try (UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(2 * 
MAX_RECORD_DATA_SIZE).get()) {
 
             while (true) {
                 byte[] b = readRemainder();

Modified: poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/SubRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/SubRecord.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/SubRecord.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/SubRecord.java Thu 
Jun  8 08:53:08 2023
@@ -136,7 +136,7 @@ public abstract class SubRecord implemen
     protected abstract int getDataSize();
     public byte[] serialize() {
         int size = getDataSize() + 4;
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream(size);
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(size).get();
         serialize(new LittleEndianOutputStream(baos));
         if (baos.size() != size) {
             throw new IllegalStateException("write size mismatch");

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFPicture.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFPicture.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFPicture.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFPicture.java 
Thu Jun  8 08:53:08 2023
@@ -18,6 +18,7 @@
 package org.apache.poi.hssf.usermodel;
 
 import java.awt.Dimension;
+import java.io.IOException;
 
 import org.apache.commons.io.input.UnsynchronizedByteArrayInputStream;
 import org.apache.poi.ddf.DefaultEscherRecordFactory;
@@ -191,7 +192,12 @@ public class HSSFPicture extends HSSFSim
         EscherBSERecord bse = iwb.getBSERecord(getPictureIndex());
         byte[] data = bse.getBlipRecord().getPicturedata();
         int type = bse.getBlipTypeWin32();
-        return ImageUtils.getImageDimension(new 
UnsynchronizedByteArrayInputStream(data), type);
+        try {
+            return 
ImageUtils.getImageDimension(UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get(),
 type);
+        } catch (IOException e) {
+            // not possible with ByteArray but still declared in the API
+            throw new IllegalStateException(e);
+        }
     }
 
     /**

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java 
Thu Jun  8 08:53:08 2023
@@ -1353,7 +1353,7 @@ public final class HSSFWorkbook extends
         DocumentNode workbookNode = (DocumentNode) dir.getEntry(
                 getWorkbookDirEntryName(dir));
         POIFSDocument workbookDoc = new POIFSDocument(workbookNode);
-        workbookDoc.replaceContents(new 
UnsynchronizedByteArrayInputStream(getBytes()));
+        
workbookDoc.replaceContents(UnsynchronizedByteArrayInputStream.builder().setByteArray(getBytes()).get());
 
         // Update the properties streams in the file
         writeProperties();
@@ -1415,7 +1415,7 @@ public final class HSSFWorkbook extends
         List<String> excepts = new ArrayList<>(1);
 
         // Write out the Workbook stream
-        fs.createDocument(new UnsynchronizedByteArrayInputStream(getBytes()), 
"Workbook");
+        
fs.createDocument(UnsynchronizedByteArrayInputStream.builder().setByteArray(getBytes()).get(),
 "Workbook");
 
         // Write out our HPFS properties, if we have them
         writeProperties(fs, excepts);
@@ -2110,7 +2110,7 @@ public final class HSSFWorkbook extends
             }
         }
 
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             poiData.writeFilesystem(bos);
             return addOlePackage(bos.toByteArray(), label, fileName, command);
         }
@@ -2138,7 +2138,7 @@ public final class HSSFWorkbook extends
         Ole10Native.createOleMarkerEntry(oleDir);
 
         Ole10Native oleNative = new Ole10Native(label, fileName, command, 
oleData);
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             oleNative.writeOut(bos);
             oleDir.createDocument(Ole10Native.OLE10_NATIVE, 
bos.toInputStream());
         }

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/DocumentOutputStream.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/DocumentOutputStream.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/DocumentOutputStream.java
 (original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/DocumentOutputStream.java
 Thu Jun  8 08:53:08 2023
@@ -43,7 +43,7 @@ public final class DocumentOutputStream
 
     /** our buffer, when null we're into normal blocks */
     private UnsynchronizedByteArrayOutputStream _buffer =
-            new 
UnsynchronizedByteArrayOutputStream(POIFSConstants.BIG_BLOCK_MINIMUM_DOCUMENT_SIZE);
+            
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(POIFSConstants.BIG_BLOCK_MINIMUM_DOCUMENT_SIZE).get();
 
     /** our main block stream, when we're into normal blocks */
     private POIFSStream _stream;
@@ -105,7 +105,7 @@ public final class DocumentOutputStream
         }
 
         // Have an empty one created for now
-        return parent.createDocument(name, new 
UnsynchronizedByteArrayInputStream(new byte[0]));
+        return parent.createDocument(name, 
UnsynchronizedByteArrayInputStream.builder().setByteArray(new byte[0]).get());
     }
 
     private void checkBufferSize() throws IOException {

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/Ole10Native.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/Ole10Native.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/Ole10Native.java 
(original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/Ole10Native.java 
Thu Jun  8 08:53:08 2023
@@ -254,7 +254,7 @@ public class Ole10Native {
      */
     public static void createOleMarkerEntry(final DirectoryEntry parent) 
throws IOException {
         if (!parent.hasEntry(OLE_MARKER_NAME)) {
-            parent.createDocument(OLE_MARKER_NAME, new 
UnsynchronizedByteArrayInputStream(OLE_MARKER_BYTES));
+            parent.createDocument(OLE_MARKER_NAME, 
UnsynchronizedByteArrayInputStream.builder().setByteArray(OLE_MARKER_BYTES).get());
         }
     }
 
@@ -402,7 +402,7 @@ public class Ole10Native {
 
         switch (mode) {
             case parsed: {
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 try (LittleEndianOutputStream leos = new 
LittleEndianOutputStream(bos)) {
                     // total size, will be determined later ..
 

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java
 (original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java
 Thu Jun  8 08:53:08 2023
@@ -780,9 +780,9 @@ public class POIFSFileSystem extends Blo
         // _header.setPropertyStart has been updated on write ...
 
         // HeaderBlock
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream(
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(
                 _header.getBigBlockSize().getBigBlockSize()
-        );
+        ).get();
         _header.writeData(baos);
         getBlockAt(-1).put(baos.toByteArray());
 

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/macros/VBAMacroReader.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/poifs/macros/VBAMacroReader.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/poifs/macros/VBAMacroReader.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/poifs/macros/VBAMacroReader.java 
Thu Jun  8 08:53:08 2023
@@ -233,7 +233,11 @@ public class VBAMacroReader implements C
         } else {
             // Decompress a previously found module and store the decompressed 
result into module.buf
             InputStream stream = new RLEDecompressingInputStream(
-                    new UnsynchronizedByteArrayInputStream(module.buf, 
moduleOffset, module.buf.length - moduleOffset)
+                    UnsynchronizedByteArrayInputStream.builder().
+                            setByteArray(module.buf).
+                            setOffset(moduleOffset).
+                            setLength(module.buf.length - moduleOffset).
+                            get()
             );
             module.read(stream);
             stream.close();
@@ -275,7 +279,7 @@ public class VBAMacroReader implements C
             }
 
             if (decompressedBytes != null) {
-                module.read(new 
UnsynchronizedByteArrayInputStream(decompressedBytes));
+                
module.read(UnsynchronizedByteArrayInputStream.builder().setByteArray(decompressedBytes).get());
             }
         }
 
@@ -668,7 +672,7 @@ public class VBAMacroReader implements C
 
     private static String readUnicode(InputStream is) throws IOException {
         //reads null-terminated unicode string
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             int b0 = IOUtils.readByte(is);
             int b1 = IOUtils.readByte(is);
 
@@ -688,7 +692,7 @@ public class VBAMacroReader implements C
     }
 
     private static String readMBCS(int firstByte, InputStream is, Charset 
charset) throws IOException {
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             int len = 0;
             int b = firstByte;
             while (b > 0 && len < MAX_STRING_LENGTH) {
@@ -802,7 +806,11 @@ public class VBAMacroReader implements C
                 if (w <= 0 || (w & 0x7000) != 0x3000) {
                     continue;
                 }
-                decompressed = tryToDecompress(new 
UnsynchronizedByteArrayInputStream(compressed, i, compressed.length - i));
+                decompressed = 
tryToDecompress(UnsynchronizedByteArrayInputStream.builder().
+                        setByteArray(compressed).
+                        setOffset(i).
+                        setLength(compressed.length - i).
+                        get());
                 if (decompressed != null) {
                     if (decompressed.length > 9) {
                         //this is a complete hack.  The challenge is that there

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/sl/draw/BitmapImageRenderer.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/sl/draw/BitmapImageRenderer.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/sl/draw/BitmapImageRenderer.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/sl/draw/BitmapImageRenderer.java 
Thu Jun  8 08:53:08 2023
@@ -85,7 +85,7 @@ public class BitmapImageRenderer impleme
     public void loadImage(InputStream data, String contentType) throws 
IOException {
         InputStream in = data;
         if (doCache) {
-            try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+            try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
                 IOUtils.copy(data, bos);
                 cachedImage = bos.toByteArray();
                 cachedContentType = contentType;
@@ -104,7 +104,7 @@ public class BitmapImageRenderer impleme
             cachedImage = data.clone();
             cachedContentType = contentType;
         }
-        img = readImage(new UnsynchronizedByteArrayInputStream(data), 
contentType);
+        img = 
readImage(UnsynchronizedByteArrayInputStream.builder().setByteArray(data).get(),
 contentType);
     }
 
     /**

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/sl/image/ImageHeaderBitmap.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/sl/image/ImageHeaderBitmap.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/sl/image/ImageHeaderBitmap.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/sl/image/ImageHeaderBitmap.java 
Thu Jun  8 08:53:08 2023
@@ -38,7 +38,7 @@ public class ImageHeaderBitmap {
     public ImageHeaderBitmap(byte[] data, int offset) {
         BufferedImage img = null;
         try {
-            img = ImageIO.read(new UnsynchronizedByteArrayInputStream(data, 
offset, data.length-offset));
+            img = 
ImageIO.read(UnsynchronizedByteArrayInputStream.builder().setByteArray(data).setOffset(offset).setLength(data.length-offset).get());
         } catch (IOException e) {
             LOG.atWarn().withThrowable(e).log("Can't determine image 
dimensions");
         }

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/sl/usermodel/ObjectShape.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/sl/usermodel/ObjectShape.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/sl/usermodel/ObjectShape.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/sl/usermodel/ObjectShape.java 
Thu Jun  8 08:53:08 2023
@@ -96,7 +96,7 @@ public interface ObjectShape<
 
         final Application app = Application.lookup(progId);
 
-        try (final UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+        try (final UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
              final InputStream is = 
FileMagic.prepareToCheckMagic(readObjectDataRaw())) {
 
             final FileMagic fm = FileMagic.valueOf(is);

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/ss/extractor/EmbeddedExtractor.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/extractor/EmbeddedExtractor.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/ss/extractor/EmbeddedExtractor.java 
(original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/ss/extractor/EmbeddedExtractor.java 
Thu Jun  8 08:53:08 2023
@@ -177,7 +177,7 @@ public class EmbeddedExtractor implement
 
     protected EmbeddedData extract(DirectoryNode dn) throws IOException {
         assert(canExtract(dn));
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream(20000);
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(20000).get();
             POIFSFileSystem dest = new POIFSFileSystem()) {
             copyNodes(dn, dest.getRoot());
             // start with a reasonable big size
@@ -218,7 +218,7 @@ public class EmbeddedExtractor implement
 
         @Override
         public EmbeddedData extract(DirectoryNode dn) throws IOException {
-            try(UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+            try(UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 InputStream is = dn.createDocumentInputStream("CONTENTS")) {
                 IOUtils.copy(is, bos);
                 return new EmbeddedData(dn.getName() + ".pdf", 
bos.toByteArray(), CONTENT_TYPE_PDF);

Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/util/ImageUtils.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/util/ImageUtils.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/util/ImageUtils.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/util/ImageUtils.java Thu Jun  
8 08:53:08 2023
@@ -143,6 +143,7 @@ public final class ImageUtils {
      * @param scaleY the amount by which image height is multiplied relative 
to the original height.
      * @return the new Dimensions of the scaled picture in EMUs
      * @throws IllegalArgumentException if scale values lead to negative or 
infinite results
+     * @throws IllegalStateException if the picture data is corrupt
      */
     public static Dimension setPreferredSize(Picture picture, double scaleX, 
double scaleY) {
         ClientAnchor anchor = picture.getClientAnchor();
@@ -151,9 +152,15 @@ public final class ImageUtils {
         Sheet sheet = picture.getSheet();
 
         // in pixel
-        final Dimension imgSize = (scaleX == Double.MAX_VALUE || scaleY == 
Double.MAX_VALUE)
-            ? getImageDimension(new 
UnsynchronizedByteArrayInputStream(data.getData()), data.getPictureType())
-            : new Dimension();
+        final Dimension imgSize;
+        try {
+            imgSize = (scaleX == Double.MAX_VALUE || scaleY == 
Double.MAX_VALUE)
+                ? 
getImageDimension(UnsynchronizedByteArrayInputStream.builder().setByteArray(data.getData()).get(),
 data.getPictureType())
+                : new Dimension();
+        } catch (IOException e) {
+            // is actually impossible with ByteArray, but still declared in 
the interface
+            throw new IllegalStateException(e);
+        }
 
         // in emus
         final Dimension anchorSize = (scaleX != Double.MAX_VALUE || scaleY != 
Double.MAX_VALUE)
@@ -192,7 +199,12 @@ public final class ImageUtils {
         Dimension imgSize = null;
         if (anchor.getCol2() < anchor.getCol1() || anchor.getRow2() < 
anchor.getRow1()) {
             PictureData data = picture.getPictureData();
-            imgSize = getImageDimension(new 
UnsynchronizedByteArrayInputStream(data.getData()), data.getPictureType());
+            try {
+                imgSize = 
getImageDimension(UnsynchronizedByteArrayInputStream.builder().setByteArray(data.getData()).get(),
 data.getPictureType());
+            } catch (IOException e) {
+                // not possible with ByteArray but still declared in the API
+                throw new IllegalStateException(e);
+            }
         }
 
         int w = getDimFromCell(imgSize == null ? 0 : imgSize.getWidth(), 
anchor.getCol1(), anchor.getDx1(), anchor.getCol2(), anchor.getDx2(),

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/util/GenericRecordJsonWriter.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/util/GenericRecordJsonWriter.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/util/GenericRecordJsonWriter.java 
(original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/util/GenericRecordJsonWriter.java 
Thu Jun  8 08:53:08 2023
@@ -19,8 +19,6 @@
 
 package org.apache.poi.util;
 
-import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
-
 import java.awt.Color;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Dimension2D;
@@ -55,6 +53,7 @@ import java.util.function.Supplier;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.commons.io.output.NullOutputStream;
 import org.apache.poi.common.usermodel.GenericRecord;
 import org.apache.poi.util.GenericRecordUtil.AnnotatedFlag;
 
@@ -117,7 +116,7 @@ public class GenericRecordJsonWriter imp
     protected int childIndex = 0;
 
     public GenericRecordJsonWriter(File fileName) throws IOException {
-        OutputStream os = ("null".equals(fileName.getName())) ? 
NULL_OUTPUT_STREAM : new FileOutputStream(fileName);
+        OutputStream os = ("null".equals(fileName.getName())) ? 
NullOutputStream.INSTANCE : new FileOutputStream(fileName);
         aw = new AppendableWriter(new OutputStreamWriter(os, 
StandardCharsets.UTF_8));
         fw = new PrintWriter(aw);
     }

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/util/GenericRecordXmlWriter.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/util/GenericRecordXmlWriter.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/util/GenericRecordXmlWriter.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/util/GenericRecordXmlWriter.java 
Thu Jun  8 08:53:08 2023
@@ -19,8 +19,6 @@
 
 package org.apache.poi.util;
 
-import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
-
 import java.awt.Color;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Dimension2D;
@@ -50,6 +48,7 @@ import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.commons.io.output.NullOutputStream;
 import org.apache.poi.common.usermodel.GenericRecord;
 import org.apache.poi.util.GenericRecordJsonWriter.AppendableWriter;
 
@@ -109,7 +108,7 @@ public class GenericRecordXmlWriter impl
     private boolean attributePhase = true;
 
     public GenericRecordXmlWriter(File fileName) throws IOException {
-        OutputStream os = ("null".equals(fileName.getName())) ? 
NULL_OUTPUT_STREAM : new FileOutputStream(fileName);
+        OutputStream os = ("null".equals(fileName.getName())) ? 
NullOutputStream.INSTANCE : new FileOutputStream(fileName);
         fw = new PrintWriter(new OutputStreamWriter(os, 
StandardCharsets.UTF_8));
     }
 

Modified: poi/trunk/poi/src/main/java/org/apache/poi/util/IOUtils.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/util/IOUtils.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/util/IOUtils.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/util/IOUtils.java Thu Jun  8 
08:53:08 2023
@@ -141,7 +141,7 @@ public final class IOUtils {
         checkByteSizeLimit(limit);
 
         stream.mark(limit);
-        try (UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream(limit)) {
+        try (UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(limit).get()) {
             copy(new BoundedInputStream(stream, limit), bos);
 
             int readBytes = bos.size();
@@ -238,7 +238,7 @@ public final class IOUtils {
         final int derivedLen = isLengthKnown ? Math.min(length, 
derivedMaxLength) : derivedMaxLength;
         final int byteArrayInitLen = 
calculateByteArrayInitLength(isLengthKnown, length, derivedMaxLength);
         final int internalBufferLen = DEFAULT_BUFFER_SIZE;
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream(byteArrayInitLen)) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(byteArrayInitLen).get())
 {
             byte[] buffer = new byte[internalBufferLen];
             int totalBytes = 0, readBytes;
             do {

Modified: poi/trunk/poi/src/main/java/org/apache/poi/util/LZWDecompresser.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/util/LZWDecompresser.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/util/LZWDecompresser.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/util/LZWDecompresser.java Thu 
Jun  8 08:53:08 2023
@@ -102,7 +102,7 @@ public abstract class LZWDecompresser {
      * of the decompressed input.
      */
     public byte[] decompress(InputStream src) throws IOException {
-        UnsynchronizedByteArrayOutputStream res = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream res = 
UnsynchronizedByteArrayOutputStream.builder().get();
         decompress(src, res);
         return res.toByteArray();
     }

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/util/RLEDecompressingInputStream.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/util/RLEDecompressingInputStream.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/util/RLEDecompressingInputStream.java
 (original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/util/RLEDecompressingInputStream.java
 Thu Jun  8 08:53:08 2023
@@ -277,8 +277,8 @@ public class RLEDecompressingInputStream
     }
 
     public static byte[] decompress(byte[] compressed, int offset, int length) 
throws IOException {
-        try (UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
-             InputStream instream = new 
UnsynchronizedByteArrayInputStream(compressed, offset, length);
+        try (UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
+             InputStream instream = 
UnsynchronizedByteArrayInputStream.builder().setByteArray(compressed).setOffset(offset).setLength(length).get();
              InputStream stream = new RLEDecompressingInputStream(instream)) {
 
             IOUtils.copy(stream, out);

Modified: poi/trunk/poi/src/test/java/org/apache/poi/POIDataSamples.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/POIDataSamples.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/POIDataSamples.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/POIDataSamples.java Thu Jun  8 
08:53:08 2023
@@ -264,7 +264,7 @@ public final class POIDataSamples {
      */
     public byte[] readFile(String fileName) {
         try (InputStream fis = openResourceAsStream(fileName);
-             UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()) {
+             UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             IOUtils.copy(fis, bos);
             return bos.toByteArray();
         } catch (IOException e) {
@@ -273,7 +273,7 @@ public final class POIDataSamples {
     }
 
     public static POIFSFileSystem writeOutAndReadBack(POIFSFileSystem 
original) throws IOException {
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             original.writeFilesystem(baos);
             return new POIFSFileSystem(baos.toInputStream());
         }

Modified: poi/trunk/poi/src/test/java/org/apache/poi/TestPOIDocumentMain.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/TestPOIDocumentMain.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/TestPOIDocumentMain.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/TestPOIDocumentMain.java Thu Jun 
 8 08:53:08 2023
@@ -87,7 +87,7 @@ final class TestPOIDocumentMain {
 
     @Test
     void WriteReadProperties() throws IOException {
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
 
         // Write them out
         try (POIDocument xls = openSampleWorkbook("DateFormats.xls");

Modified: poi/trunk/poi/src/test/java/org/apache/poi/ddf/TestEscherDump.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ddf/TestEscherDump.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/ddf/TestEscherDump.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/ddf/TestEscherDump.java Thu Jun  
8 08:53:08 2023
@@ -64,7 +64,7 @@ class TestEscherDump {
         "eJr+iZEHAAA=";
 
     private final EscherDump dumper = new EscherDump();
-    private final UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+    private final UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
     private PrintStream stream;
 
     @BeforeEach

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestHPSFBugs.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestHPSFBugs.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestHPSFBugs.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestHPSFBugs.java Thu 
Jun  8 08:53:08 2023
@@ -121,7 +121,7 @@ final class TestHPSFBugs {
 
 
            // Write out and read back, should still be valid
-           UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+           UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
            try (POIDocument doc = new HPSFPropertiesOnlyDocument(fs)) {
                doc.write(baos);
            }

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestMetaDataIPI.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestMetaDataIPI.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestMetaDataIPI.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestMetaDataIPI.java 
Thu Jun  8 08:53:08 2023
@@ -527,7 +527,7 @@ final class TestMetaDataIPI {
         dsi.write(poifs.getRoot(), 
DocumentSummaryInformation.DEFAULT_STREAM_NAME);
         si.write(poifs.getRoot(), SummaryInformation.DEFAULT_STREAM_NAME);
 
-        UnsynchronizedByteArrayOutputStream bout = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream bout = 
UnsynchronizedByteArrayOutputStream.builder().get();
         poifs.writeFilesystem(bout);
         poifs.close();
 

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestReadAllFiles.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestReadAllFiles.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestReadAllFiles.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestReadAllFiles.java 
Thu Jun  8 08:53:08 2023
@@ -101,7 +101,7 @@ class TestReadAllFiles {
 
         /* Create a new POI filesystem containing the origin file's
          * property set streams: */
-        UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
         try (POIFSFileSystem poiFs = new POIFSFileSystem()) {
             for (POIFile poifile : Util.readPropertySets(file)) {
                 final InputStream in = new 
ByteArrayInputStream(poifile.getBytes());

Modified: poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestWrite.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestWrite.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestWrite.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hpsf/basic/TestWrite.java Thu 
Jun  8 08:53:08 2023
@@ -110,7 +110,7 @@ class TestWrite {
         /* Write it to a POIFS and the latter to disk: */
         try (OutputStream out = new FileOutputStream(filename);
              POIFSFileSystem poiFs = new POIFSFileSystem();
-             UnsynchronizedByteArrayOutputStream psStream = new 
UnsynchronizedByteArrayOutputStream()) {
+             UnsynchronizedByteArrayOutputStream psStream = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             assertThrows(NoFormatIDException.class, () -> ps.write(psStream));
             poiFs.createDocument(psStream.toInputStream(), 
SummaryInformation.DEFAULT_STREAM_NAME);
             poiFs.writeFilesystem(out);
@@ -132,7 +132,7 @@ class TestWrite {
         /* Create a mutable property set and write it to a POIFS: */
         try (OutputStream out = new FileOutputStream(filename);
             POIFSFileSystem poiFs = new POIFSFileSystem();
-             UnsynchronizedByteArrayOutputStream psStream = new 
UnsynchronizedByteArrayOutputStream()) {
+             UnsynchronizedByteArrayOutputStream psStream = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             final PropertySet ps = new PropertySet();
             final Section s = ps.getSections().get(0);
             s.setFormatID(SummaryInformation.FORMAT_ID);
@@ -343,7 +343,7 @@ class TestWrite {
         p.setValue(TITLE);
         ms.setProperty(p);
 
-        UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
         mps.write(out);
         byte[] bytes = out.toByteArray();
 
@@ -373,7 +373,7 @@ class TestWrite {
     private void check(final long variantType, final Object value, final int 
codepage)
     throws UnsupportedVariantTypeException, IOException
     {
-        final UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        final UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
         VariantSupport.write(out, variantType, value, codepage);
         final byte[] b = out.toByteArray();
         final Object objRead =
@@ -526,9 +526,9 @@ class TestWrite {
             doufStream.close();
 
             // And also write to some bytes for checking
-            UnsynchronizedByteArrayOutputStream sinfBytes = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream sinfBytes = 
UnsynchronizedByteArrayOutputStream.builder().get();
             sinf.write(sinfBytes);
-            UnsynchronizedByteArrayOutputStream dinfBytes = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream dinfBytes = 
UnsynchronizedByteArrayOutputStream.builder().get();
             dinf.write(dinfBytes);
 
 

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/HSSFTestDataSamples.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/HSSFTestDataSamples.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/HSSFTestDataSamples.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/HSSFTestDataSamples.java 
Thu Jun  8 08:53:08 2023
@@ -55,7 +55,7 @@ public final class HSSFTestDataSamples {
      * Useful for verifying that the serialisation round trip
      */
     public static HSSFWorkbook writeOutAndReadBack(HSSFWorkbook original) {
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream()) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             original.write(baos);
             try (InputStream is = baos.toInputStream()) {
                 return new HSSFWorkbook(is);

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/eventmodel/TestEventRecordFactory.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/eventmodel/TestEventRecordFactory.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/eventmodel/TestEventRecordFactory.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/eventmodel/TestEventRecordFactory.java
 Thu Jun  8 08:53:08 2023
@@ -135,7 +135,7 @@ final class TestEventRecordFactory {
      */
     @Test
      void testContinuedUnknownRecord() throws IOException {
-        UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
         for (byte[] b : CONTINUE_DATA) {
             bos.write(b);
         }

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/extractor/TestOldExcelExtractor.java
 Thu Jun  8 08:53:08 2023
@@ -314,7 +314,7 @@ final class TestOldExcelExtractor {
         SecurityManager sm = System.getSecurityManager();
         System.setSecurityManager(new NoExitSecurityManager());
         try {
-            System.setErr(new NullPrintStream());
+            System.setErr(NullPrintStream.INSTANCE);
             // calls System.exit()
             assertThrows(ExitException.class, () -> OldExcelExtractor.main(new 
String[]{}));
         } finally {
@@ -328,7 +328,7 @@ final class TestOldExcelExtractor {
     void testMain() throws IOException {
         File file = HSSFTestDataSamples.getSampleFile("testEXCEL_3.xls");
         PrintStream save = System.out;
-        try (UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        try (UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
              PrintStream str = new PrintStream(out, false, 
StandardCharsets.UTF_8.displayName(LocaleUtil.getUserLocale()))) {
             System.setOut(str);
             OldExcelExtractor.main(new String[] {file.getAbsolutePath()});

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestDrawingAggregate.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestDrawingAggregate.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestDrawingAggregate.java 
(original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestDrawingAggregate.java 
Thu Jun  8 08:53:08 2023
@@ -114,7 +114,7 @@ class TestDrawingAggregate {
          * @return the raw data being aggregated
          */
         byte[] getRawBytes(){
-            UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
             for (RecordBase rb : aggRecords) {
                 Record r = (org.apache.poi.hssf.record.Record) rb;
                 try {
@@ -222,7 +222,7 @@ class TestDrawingAggregate {
         assertEquals(dgBytes.length, pos, "data was not fully read");
 
         // serialize to byte array
-        UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
         for(EscherRecord r : records) {
             out.write(r.serialize());
         }
@@ -248,7 +248,7 @@ class TestDrawingAggregate {
     }
 
     private static byte[] toByteArray(List<RecordBase> records) {
-        UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
         for (RecordBase rb : records) {
             Record r = (org.apache.poi.hssf.record.Record) rb;
             try {

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestEscherRecordFactory.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestEscherRecordFactory.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestEscherRecordFactory.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestEscherRecordFactory.java
 Thu Jun  8 08:53:08 2023
@@ -39,7 +39,7 @@ import org.junit.jupiter.api.Test;
 class TestEscherRecordFactory {
 
     private static byte[] toByteArray(List<RecordBase> records) {
-        UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
         for (RecordBase rb : records) {
             Record r = (org.apache.poi.hssf.record.Record) rb;
             try {

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDConRefRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDConRefRecord.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDConRefRecord.java 
(original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDConRefRecord.java 
Thu Jun  8 08:53:08 2023
@@ -209,7 +209,7 @@ class TestDConRefRecord {
     private void testReadWrite(byte[] data, String message) throws IOException 
{
         RecordInputStream is = TestcaseRecordInputStream.create(81, data);
         DConRefRecord d = new DConRefRecord(is);
-        UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream(data.length);
+        UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(data.length).get();
         LittleEndianOutputStream o = new LittleEndianOutputStream(bos);
         d.serialize(o);
         o.flush();

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDrawingRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDrawingRecord.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDrawingRecord.java 
(original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDrawingRecord.java 
Thu Jun  8 08:53:08 2023
@@ -38,7 +38,7 @@ final class TestDrawingRecord {
     void testReadContinued() throws IOException {
 
         //simulate a continues drawing record
-        UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
         //main part
         DrawingRecord dg = new DrawingRecord();
         byte[] data1 = new byte[8224];

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestLbsDataSubRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestLbsDataSubRecord.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestLbsDataSubRecord.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestLbsDataSubRecord.java
 Thu Jun  8 08:53:08 2023
@@ -166,7 +166,7 @@ final class TestLbsDataSubRecord {
         try (LittleEndianInputStream in = new LittleEndianInputStream(new 
ByteArrayInputStream(data))) {
             LbsDataSubRecord.LbsDropData lbs = new 
LbsDataSubRecord.LbsDropData(in);
 
-            UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
             try (LittleEndianOutputStream out = new 
LittleEndianOutputStream(baos)) {
                 lbs.serialize(out);
 

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestRecordFactory.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestRecordFactory.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestRecordFactory.java 
(original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestRecordFactory.java 
Thu Jun  8 08:53:08 2023
@@ -185,7 +185,7 @@ final class TestRecordFactory {
         assertTrue(records.get(4) instanceof ObjRecord);
 
         //serialize and verify that the serialized data is the same as the 
original
-        UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().get();
         for(org.apache.poi.hssf.record.Record rec : records){
             out.write(rec.serialize());
         }
@@ -204,7 +204,7 @@ final class TestRecordFactory {
             BOFRecord.createSheetBOF(),
             EOFRecord.instance,
         };
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
         for (org.apache.poi.hssf.record.Record rec : recs) {
             try {
                 baos.write(rec.serialize());

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestSSTRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestSSTRecord.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestSSTRecord.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestSSTRecord.java 
Thu Jun  8 08:53:08 2023
@@ -49,7 +49,7 @@ final class TestSSTRecord {
      */
     private static byte[] concatHexDumps(String... hexDumpFileNames) throws 
IOException {
         int nFiles = hexDumpFileNames.length;
-        UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream(nFiles * 8228);
+        UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(nFiles * 
8228).get();
         for (String sampleFileName : hexDumpFileNames) {
             try (InputStream is = 
HSSFTestDataSamples.openSampleFileStream(sampleFileName)) {
                 BufferedReader br = new BufferedReader(new 
InputStreamReader(is, LocaleUtil.CHARSET_1252));

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/common/TestUnicodeString.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/common/TestUnicodeString.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/common/TestUnicodeString.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/common/TestUnicodeString.java
 Thu Jun  8 08:53:08 2023
@@ -185,7 +185,7 @@ final class TestUnicodeString {
        assertEquals(4, fr.getCharacterPos());
        assertEquals(0x15c, fr.getFontIndex());
 
-       UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+       UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
        LittleEndianOutputStream out = new LittleEndianOutputStream(baos);
 
        fr.serialize(out);
@@ -216,7 +216,7 @@ final class TestUnicodeString {
        assertEquals(0, ext.getPhRuns().length);
        assertEquals(10, ext.getDataSize()); // Excludes 4 byte header
 
-       UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+       UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
        LittleEndianOutputStream out = new LittleEndianOutputStream(baos);
        ContinuableRecordOutput cout = new ContinuableRecordOutput(out, 0xffff);
 

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestBugs.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestBugs.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestBugs.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestBugs.java Thu 
Jun  8 08:53:08 2023
@@ -1175,9 +1175,9 @@ final class TestBugs extends BaseTestBug
     @Test
     void bug32191() throws IOException {
         try (HSSFWorkbook wb = openSampleWorkbook("27394.xls");
-             UnsynchronizedByteArrayOutputStream out1 = new 
UnsynchronizedByteArrayOutputStream();
-             UnsynchronizedByteArrayOutputStream out2 = new 
UnsynchronizedByteArrayOutputStream();
-             UnsynchronizedByteArrayOutputStream out3 = new 
UnsynchronizedByteArrayOutputStream()) {
+             UnsynchronizedByteArrayOutputStream out1 = 
UnsynchronizedByteArrayOutputStream.builder().get();
+             UnsynchronizedByteArrayOutputStream out2 = 
UnsynchronizedByteArrayOutputStream.builder().get();
+             UnsynchronizedByteArrayOutputStream out3 = 
UnsynchronizedByteArrayOutputStream.builder().get()) {
             wb.write(out1);
             wb.write(out2);
             wb.write(out3);
@@ -2331,7 +2331,7 @@ final class TestBugs extends BaseTestBug
             }
 
             // Convert BufferedImage to byte[]
-            UnsynchronizedByteArrayOutputStream imageBAOS = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream imageBAOS = 
UnsynchronizedByteArrayOutputStream.builder().get();
             ImageIO.write(bimage, "jpeg", imageBAOS);
             imageBAOS.flush();
             byte[] imageBytes = imageBAOS.toByteArray();
@@ -2614,7 +2614,7 @@ final class TestBugs extends BaseTestBug
     void test66319() throws IOException {
         try (
                 HSSFWorkbook workbook = openSampleWorkbook("bug66319.xls");
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             for (Sheet sheet : workbook) {
                 for (Row row : sheet) {
@@ -2631,7 +2631,7 @@ final class TestBugs extends BaseTestBug
     void test66319WithRemove() throws IOException {
         try (
                 HSSFWorkbook workbook = openSampleWorkbook("bug66319.xls");
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             for (Sheet sheet : workbook) {
                 for (Row row : sheet) {

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestDataValidation.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestDataValidation.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestDataValidation.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestDataValidation.java
 Thu Jun  8 08:53:08 2023
@@ -61,7 +61,7 @@ final class TestDataValidation extends B
     void assertDataValidation(Workbook wb) {
 
         byte[] generatedContent;
-        try (UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream(22000)) {
+        try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(22000).get()) {
             wb.write(baos);
             generatedContent = baos.toByteArray();
         } catch (IOException e) {
@@ -133,7 +133,7 @@ final class TestDataValidation extends B
 
             sheet.addValidationData(dv);
 
-            UnsynchronizedByteArrayOutputStream baos = new 
UnsynchronizedByteArrayOutputStream();
+            UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
             wb.write(baos);
 
             byte[] wbData = baos.toByteArray();

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFCell.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFCell.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFCell.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFCell.java 
Thu Jun  8 08:53:08 2023
@@ -422,7 +422,7 @@ final class TestHSSFCell extends BaseTes
     void setFillForegroundColor() throws IOException {
         try (
                 HSSFWorkbook wb = new HSSFWorkbook();
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream()
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get()
         ) {
             Cell cell = wb.createSheet().createRow(0).createCell(0);
             HSSFCellStyle cellStyle = wb.createCellStyle();

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java?rev=1910300&r1=1910299&r2=1910300&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java 
(original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java 
Thu Jun  8 08:53:08 2023
@@ -559,7 +559,7 @@ public final class TestHSSFWorkbook exte
              HSSFWorkbook wb = new HSSFWorkbook(fs1)) {
             ClassID clsid1 = fs1.getRoot().getStorageClsid();
 
-            UnsynchronizedByteArrayOutputStream out = new 
UnsynchronizedByteArrayOutputStream(4096);
+            UnsynchronizedByteArrayOutputStream out = 
UnsynchronizedByteArrayOutputStream.builder().setBufferSize(4096).get();
             wb.write(out);
             try (POIFSFileSystem fs2 = new 
POIFSFileSystem(out.toInputStream())) {
                 ClassID clsid2 = fs2.getRoot().getStorageClsid();
@@ -974,7 +974,7 @@ public final class TestHSSFWorkbook exte
         assertNotNull(name);
         assertEquals("ASheet!A1", name.getRefersToFormula());
 
-        UnsynchronizedByteArrayOutputStream stream = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream stream = 
UnsynchronizedByteArrayOutputStream.builder().get();
         wb.write(stream);
 
         assertSheetOrder(wb, "Sheet1", "Sheet2", "Sheet3", "ASheet");
@@ -985,7 +985,7 @@ public final class TestHSSFWorkbook exte
         assertSheetOrder(wb, "Sheet1", "Sheet3", "ASheet");
         assertEquals("ASheet!A1", name.getRefersToFormula());
 
-        UnsynchronizedByteArrayOutputStream stream2 = new 
UnsynchronizedByteArrayOutputStream();
+        UnsynchronizedByteArrayOutputStream stream2 = 
UnsynchronizedByteArrayOutputStream.builder().get();
         wb.write(stream2);
 
         assertSheetOrder(wb, "Sheet1", "Sheet3", "ASheet");
@@ -1074,7 +1074,7 @@ public final class TestHSSFWorkbook exte
 
     private void writeAndCloseWorkbook(Workbook workbook, File file)
     throws IOException {
-        final UnsynchronizedByteArrayOutputStream bytesOut = new 
UnsynchronizedByteArrayOutputStream();
+        final UnsynchronizedByteArrayOutputStream bytesOut = 
UnsynchronizedByteArrayOutputStream.builder().get();
         workbook.write(bytesOut);
         workbook.close();
 
@@ -1182,7 +1182,7 @@ public final class TestHSSFWorkbook exte
     @Test
     void checkExistingFileForR1C1Refs() throws IOException {
         try (
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 HSSFWorkbook wb = openSampleWorkbook("49423.xls")
         ) {
             assertEquals(CellReferenceType.A1, wb.getCellReferenceType());
@@ -1198,7 +1198,7 @@ public final class TestHSSFWorkbook exte
     @Test
     void checkNewFileForR1C1Refs() throws IOException {
         try (
-                UnsynchronizedByteArrayOutputStream bos = new 
UnsynchronizedByteArrayOutputStream();
+                UnsynchronizedByteArrayOutputStream bos = 
UnsynchronizedByteArrayOutputStream.builder().get();
                 HSSFWorkbook wb = new HSSFWorkbook()
         ) {
             assertEquals(CellReferenceType.UNKNOWN, wb.getCellReferenceType());



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


Reply via email to