[FELIX-4336] Fix unit tests

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1546592 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java
index bf50878..f29fd5a 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java
@@ -116,7 +116,17 @@
         assert out != null;
         assert err != null;
         checkIO(); // derek
-        Marker marker = new Marker(in, out, err, current.get());
+        Marker prev = current();
+        if (in == this.in) {
+            in = prev.getIn();
+        }
+        if (out == this.out) {
+            out = prev.getOut();
+        }
+        if (err == this.err) {
+            err = prev.getErr();
+        }
+        Marker marker = new Marker(in, out, err, prev);
         this.current.set(marker);
     }
 }