public Copy copy(final CopyObjectRequest copyObjectRequest,
                     final TransferStateChangeListener stateChangeListener) throws
                                                                            AmazonServiceException,
                                                                            AmazonClientException {
        return copy(copyObjectRequest, s3, stateChangeListener);
    }
<p>
Schedules a new transfer to copy data from one Amazon S3 location to
another Amazon S3 location. This method is non-blocking and returns
immediately (i.e. before the copy has finished).
</p>
<p>
<code>TransferManager</code> doesn't support copying of encrypted objects
whose encryption materials are stored in an instruction file.
</p>
<p>
Use the returned <code>Copy</code> object to check if the copy is
complete.
</p>
<p>
If resources are available, the copy request will begin immediately.
Otherwise, the copy is scheduled and started as soon as resources become
available.
</p>
<p>
<b>Note:</b> If the {@link TransferManager} is created with a regional S3 client and
the source & destination buckets are in different regions, use the
{@link #copy(CopyObjectRequest, AmazonS3, TransferStateChangeListener)} method.
</p>

@param copyObjectRequest
           The request containing all the parameters for the copy.
@param stateChangeListener
           The transfer state change listener to monitor the copy request
@return A new <code>Copy</code> object to use to check the state of the
        copy request being processed.

@throws AmazonClientException
            If any errors are encountered in the client while making the
            request or handling the response.
@throws AmazonServiceException
            If any errors occurred in Amazon S3 while processing the
            request.

@see TransferManager#copy(CopyObjectRequest, AmazonS3, TransferStateChangeListener)
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/transfer/TransferManager.java