I have searched google for some time, but I cannot find a good example on how to implement cut/copy/paste for domain objects.

I have a TableViewer in which each row corresponds to a domain object (a ProductOrderLine); the input is a List<ProductOderLine>. The user can select multiple ProductOrderLines and should be able to reorder and duplicate them by using cut/copy/paste, ctrl-x, ctrl-c and ctrl-v.

Also being able to use drag and drop would be great but this is not a requirement.

Can anyone point me in the right direction or provide a link to an example/tutorial?