fix copy node operation from different workspace

i split the code as we need to do completely different things depending on whether its same or different workspace.

fix #80