code: public CopyWriter copyTo(String targetBucket, String targetBlob, BlobSourceOption... options) {
      return copyTo(BlobId.of(targetBucket, targetBlob), options);
    }
docs: Sends a copy request for the current blob to the target blob. Possibly also some of the
  metadata are copied (e.g. content-type).
  
  <p>Example of copying the blob to a different bucket with a different name.
  
  <pre>{@code
  String bucketName = "my_unique_bucket";
  String blobName = "copy_blob_name";
  CopyWriter copyWriter = blob.copyTo(bucketName, blobName);
  Blob copiedBlob = copyWriter.getResult();
  }</pre>
  
  <p>Example of moving a blob to a different bucket with a different name.
  
  <pre>{@code
  String destBucket = "my_unique_bucket";
  String destBlob = "move_blob_name";
  CopyWriter copyWriter = blob.copyTo(destBucket, destBlob);
  Blob copiedBlob = copyWriter.getResult();
  boolean deleted = blob.delete();
  }</pre>
  
  @param targetBucket target bucket's name
  @param targetBlob target blob's name
  @param options source blob options
  @return a {@link CopyWriter} object that can be used to get information on the newly created
  blob or to complete the copy if more than one RPC request is needed
  @throws StorageException upon failure