Index: trunk/autoquest-httpmonitor/src/main/java/de/ugoe/cs/autoquest/httpmonitor/proxy/HttpMonitoringProxyServlet.java
===================================================================
--- trunk/autoquest-httpmonitor/src/main/java/de/ugoe/cs/autoquest/httpmonitor/proxy/HttpMonitoringProxyServlet.java	(revision 1561)
+++ trunk/autoquest-httpmonitor/src/main/java/de/ugoe/cs/autoquest/httpmonitor/proxy/HttpMonitoringProxyServlet.java	(revision 1563)
@@ -23,6 +23,4 @@
 import java.nio.charset.UnsupportedCharsetException;
 import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
@@ -258,28 +256,15 @@
         @Override
         public ByteBuffer next() {
-            List<ByteBuffer> buffers = new LinkedList<ByteBuffer>();
+            ByteBuffer next = delegate.next();
             
-            int size = 0;
-            while (delegate.hasNext()) {
-                ByteBuffer next = delegate.next();
-                exchangeListenerManager.onRequestContent(request, next.duplicate());
-
-                ByteBuffer copy = ByteBuffer.allocate(next.limit());
-                copy.put(next);
-                copy.position(0);
-                buffers.add(copy);
-                
-                size += next.limit();
-            }
+            ByteBuffer clone = ByteBuffer.allocate(next.capacity());
+            next.rewind();
+            clone.put(next);
+            next.rewind();
+            clone.flip();
+             
+            exchangeListenerManager.onRequestContent(request, clone);
             
-            ByteBuffer buffer = ByteBuffer.allocate(size);
-            
-            for (ByteBuffer orig : buffers) {
-                buffer.put(orig);
-            }
-            
-            buffer.position(0);
-            
-            return buffer;
+            return next;
         }
 
