Author: tilman
Date: Fri Jun  5 10:10:20 2026
New Revision: 1935010

Log:
PDFBOX-5660: refactor as suggested by copilot

Modified:
   
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSInputStream.java

Modified: 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSInputStream.java
==============================================================================
--- 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSInputStream.java
  Fri Jun  5 10:09:00 2026        (r1935009)
+++ 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSInputStream.java
  Fri Jun  5 10:10:20 2026        (r1935010)
@@ -23,7 +23,6 @@ import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -64,7 +63,7 @@ public final class COSInputStream extend
         InputStream input = in;
         if (filters.isEmpty())
         {
-            return new COSInputStream(in, 
Collections.<DecodeResult>emptyList());
+            return new COSInputStream(in, null);
         }
 
         List<DecodeResult> results = new 
ArrayList<DecodeResult>(filters.size());
@@ -113,37 +112,38 @@ public final class COSInputStream extend
                 input = new ByteArrayInputStream(output.toByteArray());
             }
         }
-        return new COSInputStream(input, results);
+        if (results.isEmpty())
+        {
+            return new COSInputStream(in, null);
+        }
+        return new COSInputStream(input, results.get(results.size() - 1));
     }
 
-    private final List<DecodeResult> decodeResults;
+    private final DecodeResult decodeResult;
 
     /**
      * Constructor.
      * 
      * @param input decoded stream
-     * @param decodeResults results of decoding
+     * @param decodeResult result of decoding
      */
-    private COSInputStream(InputStream input, List<DecodeResult> decodeResults)
+    private COSInputStream(InputStream input, DecodeResult decodeResult)
     {
         super(input);
-        this.decodeResults = decodeResults;
+        this.decodeResult = decodeResult;
     }
     
     /**
      * Returns the result of the last filter, for use by repair mechanisms.
      * 
-     * @return the result of the decoding.
+     * @return the result of the last filter
      */
     public DecodeResult getDecodeResult()
     {
-        if (decodeResults.isEmpty())
+        if (decodeResult == null)
         {
             return DecodeResult.DEFAULT;
         }
-        else
-        {
-            return decodeResults.get(decodeResults.size() - 1);
-        }
+        return decodeResult;
     }
 }

Reply via email to