Makes a deep copy of the input element.
Copies all attributes from input to output.
Copies the object but not its attributes.
Stores an early copy of an object from within its own copy
method,
to allow mutual correspondences.
Provides a hint for the input element with key and value by convention.