Duplicating files - I need help!

I have an Element (a data type) that has Documents (another data type, that references a file).
When a user duplicates this Element, I need to be able to duplicate the Document (easy) AND the file.
Otherwise, if a user deletes the first Element, the file is deleted as well (I made it this way so as not to end up with tons of orphaned files)…
Any idea how to do that ? I can’t seem to find an easy way to manipulate files…
Thank you!