Hi Ramesh, copy() has purposely only been specified on the workspace, since on persisted nodes the repository can optimize the copy process substantially.
The equivalent of a Session.copy() can be implemented by the application, without any functional or material performance difference, therefore it is not mandated by the specification. I am sure you are not the first person to run into this, so maybe someone in the user community of Jackrabbit can offer some example code, maybe even on the wiki for future reference. regards, david