When it come to copying of items to and from different locations (in SharePoint) by means of using SharePoint object model, first obvious methods you find (and try using) are CopyTo() and CopyFrom(). They all seem nice and dandy if you’re simply just copying an item, but when it comes to some slightly more complex cases, such as, copying an item that contains major/minor versions, with check in/check out functionality or even copying to a folder where an item like this already exists, you soon realise...