Added a method for copying between streams
diff --git a/java/com/tigervnc/rdr/OutStream.java b/java/com/tigervnc/rdr/OutStream.java
index 46fe734..a3b1a6c 100644
--- a/java/com/tigervnc/rdr/OutStream.java
+++ b/java/com/tigervnc/rdr/OutStream.java
@@ -116,6 +116,17 @@
     }
   }
 
+  // copyBytes() efficiently transfers data between streams
+
+  public void copyBytes(InStream is, int length) {
+    while (length > 0) {
+      int n = check(1, length);
+      is.readBytes(b, ptr, n);
+      ptr += n;
+      length -= n;
+    }
+  }
+
   // writeOpaqueN() writes a quantity without byte-swapping.  Because java has
   // no byte-ordering, we just use big-endian.