code: @DoesServiceRequest
      public final String startCopy(final CloudFile sourceFile, final AccessCondition sourceAccessCondition,
              final AccessCondition destinationAccessCondition, FileRequestOptions options, OperationContext opContext)
              throws StorageException, URISyntaxException {
          Utility.assertNotNull("sourceFile", sourceFile);
          return this.startCopy(sourceFile.getTransformedAddress(opContext).getPrimaryUri(),
                  sourceAccessCondition, destinationAccessCondition, options, opContext);
  
      }
docs: Requests the service to start copying an Azure File's contents, properties, and metadata to a new Azure File,
  using the specified access conditions, lease ID, request options, and operation context.
  
  @param sourceFile
  A <code>CloudFile</code> object that represents the source file to copy.
  @param sourceAccessCondition
  An {@link AccessCondition} object that represents the access conditions for the source.
  @param destinationAccessCondition
  An {@link AccessCondition} object that represents the access conditions for the destination.
  @param options
  A {@link FileRequestOptions} object that specifies any additional options for the request.
  Specifying <code>null</code> will use the default request options from the associated
  service client ({@link CloudFileClient}).
  @param opContext
  An {@link OperationContext} object that represents the context for the current operation.
  This object is used to track requests to the storage service, and to provide additional
  runtime information about the operation.
  
  @return A <code>String</code> which represents the copy ID associated with the copy operation.
  
  @throws StorageException
  If a storage service error occurred.
  @throws URISyntaxException