Index: trunk/src/com/drew/imaging/jpeg/JpegSegmentMetadataReader.java
===================================================================
--- trunk/src/com/drew/imaging/jpeg/JpegSegmentMetadataReader.java	(revision 8132)
+++ trunk/src/com/drew/imaging/jpeg/JpegSegmentMetadataReader.java	(revision 8243)
@@ -16,17 +16,11 @@
 
     /**
-     * Gets a value indicating whether the supplied byte data can be processed by this reader. This is not a guarantee
-     * that no errors will occur, but rather a best-effort indication of whether the parse is likely to succeed.
-     * Implementations are expected to check things such as the opening bytes, data length, etc.
-     */
-    public boolean canProcess(@NotNull final byte[] segmentBytes, @NotNull final JpegSegmentType segmentType);
-
-    /**
-     * Extracts metadata from a JPEG segment's byte array and merges it into the specified {@link Metadata} object.
+     * Extracts metadata from all instances of a particular JPEG segment type.
      *
-     * @param segmentBytes The byte array from which the metadata should be extracted.
+     * @param segments A sequence of byte arrays from which the metadata should be extracted. These are in the order
+     *                 encountered in the original file.
      * @param metadata The {@link Metadata} object into which extracted values should be merged.
      * @param segmentType The {@link JpegSegmentType} being read.
      */
-    public void extract(@NotNull final byte[] segmentBytes, @NotNull final Metadata metadata, @NotNull final JpegSegmentType segmentType);
+    public void readJpegSegments(@NotNull final Iterable<byte[]> segments, @NotNull final Metadata metadata, @NotNull final JpegSegmentType segmentType);
 }
