code: public ServiceFuture<VirtualMachineCaptureResultInner> captureAsync(String resourceGroupName, String vmName, VirtualMachineCaptureParameters parameters, final ServiceCallback<VirtualMachineCaptureResultInner> serviceCallback) {
          return ServiceFuture.fromResponse(captureWithServiceResponseAsync(resourceGroupName, vmName, parameters), serviceCallback);
      }
docs: Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create similar VMs.
  
  @param resourceGroupName The name of the resource group.
  @param vmName The name of the virtual machine.
  @param parameters Parameters supplied to the Capture Virtual Machine operation.
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object