@Override
  public boolean equals(Object obj) {
    if (this == obj) return true;
    if (obj == null) return false;

    if (obj instanceof CreateDomainRequest == false) return false;
    CreateDomainRequest other = (CreateDomainRequest) obj;
    if (other.getDomainName() == null ^ this.getDomainName() == null) return false;
    if (other.getDomainName() != null
        && other.getDomainName().equals(this.getDomainName()) == false) return false;
    return true;
  }
  public Request<CreateDomainRequest> marshall(CreateDomainRequest createDomainRequest) {

    if (createDomainRequest == null) {
      throw new AmazonClientException("Invalid argument passed to marshall(...)");
    }

    Request<CreateDomainRequest> request =
        new DefaultRequest<CreateDomainRequest>(createDomainRequest, "AmazonCloudSearchv2");
    request.addParameter("Action", "CreateDomain");
    request.addParameter("Version", "2013-01-01");

    if (createDomainRequest.getDomainName() != null) {
      request.addParameter(
          "DomainName", StringUtils.fromString(createDomainRequest.getDomainName()));
    }

    return request;
  }