Optional parent job parameter for coroutine builders
diff --git a/core/kotlinx-coroutines-io/src/main/kotlin/kotlinx/coroutines/experimental/io/WriterJob.kt b/core/kotlinx-coroutines-io/src/main/kotlin/kotlinx/coroutines/experimental/io/WriterJob.kt
index 2031ae3..372f493 100644
--- a/core/kotlinx-coroutines-io/src/main/kotlin/kotlinx/coroutines/experimental/io/WriterJob.kt
+++ b/core/kotlinx-coroutines-io/src/main/kotlin/kotlinx/coroutines/experimental/io/WriterJob.kt
@@ -23,8 +23,9 @@
 fun writer(coroutineContext: CoroutineContext,
            channel: ByteChannel,
            block: suspend WriterScope.() -> Unit): WriterJob {
-    val coroutine = WriterCoroutine(newCoroutineContext(coroutineContext), channel)
-    coroutine.initParentJob(coroutineContext[Job])
+    val newContext = newCoroutineContext(coroutineContext)
+    val coroutine = WriterCoroutine(newContext, channel)
+    coroutine.initParentJob(newContext[Job])
     block.startCoroutine(coroutine, coroutine)
     return coroutine
 }