Clone stream

send an available PR for #9
No need condition, causing throw error when set contents of other type