/// <summary>
 /// Asynchronously invokes the 'RoundtripAddress' method of the DomainService.
 /// </summary>
 /// <param name="address">The value for the 'address' parameter of this action.</param>
 /// <param name="cancellationToken">A cancellation token that can be used to cancel the work</param>
 /// <returns>An operation instance that can be used to manage the asynchronous request.</returns>
 public System.Threading.Tasks.Task<InvokeResult<Address>> RoundtripAddressAsync(Address address, CancellationToken cancellationToken = default(CancellationToken))
 {
     Dictionary<string, object> parameters = new Dictionary<string, object>();
     parameters.Add("address", address);
     this.ValidateMethod("RoundtripAddress", parameters);
     return this.InvokeOperationAsync<Address>("RoundtripAddress", parameters, true, cancellationToken);
 }
 /// <summary>
 /// Asynchronously invokes the 'RoundtripAddress' method of the DomainService.
 /// </summary>
 /// <param name="address">The value for the 'address' parameter of this action.</param>
 /// <returns>An operation instance that can be used to manage the asynchronous request.</returns>
 public InvokeOperation<Address> RoundtripAddress(Address address)
 {
     Dictionary<string, object> parameters = new Dictionary<string, object>();
     parameters.Add("address", address);
     this.ValidateMethod("RoundtripAddress", parameters);
     return this.InvokeOperation<Address>("RoundtripAddress", typeof(Address), parameters, true, null, null);
 }
 /// <summary>
 /// Asynchronously invokes the 'RoundtripAddress' method of the DomainService.
 /// </summary>
 /// <param name="address">The value for the 'address' parameter of this action.</param>
 /// <param name="callback">Callback to invoke when the operation completes.</param>
 /// <param name="userState">Value to pass to the callback.  It can be <c>null</c>.</param>
 /// <returns>An operation instance that can be used to manage the asynchronous request.</returns>
 public InvokeOperation<Address> RoundtripAddress(Address address, Action<InvokeOperation<Address>> callback, object userState)
 {
     Dictionary<string, object> parameters = new Dictionary<string, object>();
     parameters.Add("address", address);
     this.ValidateMethod("RoundtripAddress", parameters);
     return this.InvokeOperation<Address>("RoundtripAddress", typeof(Address), parameters, true, callback, userState);
 }
 partial void OnHomeAddressChanging(Address value);
 public Address RoundtripAddress(Address address)
 {
     return address;
 }
        public void UpdateHomeAddress(ComplexType_Parent parent, Address newAddress)
        {

        }