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

    if (obj instanceof AssociateDhcpOptionsRequest == false) return false;
    AssociateDhcpOptionsRequest other = (AssociateDhcpOptionsRequest) obj;
    if (other.getDhcpOptionsId() == null ^ this.getDhcpOptionsId() == null) return false;
    if (other.getDhcpOptionsId() != null
        && other.getDhcpOptionsId().equals(this.getDhcpOptionsId()) == false) return false;
    if (other.getVpcId() == null ^ this.getVpcId() == null) return false;
    if (other.getVpcId() != null && other.getVpcId().equals(this.getVpcId()) == false) return false;
    return true;
  }
  public Request<AssociateDhcpOptionsRequest> marshall(
      AssociateDhcpOptionsRequest associateDhcpOptionsRequest) {
    Request<AssociateDhcpOptionsRequest> request =
        new DefaultRequest<AssociateDhcpOptionsRequest>(associateDhcpOptionsRequest, "AmazonEC2");
    request.addParameter("Action", "AssociateDhcpOptions");
    request.addParameter("Version", "2010-08-31");
    if (associateDhcpOptionsRequest != null) {
      if (associateDhcpOptionsRequest.getDhcpOptionsId() != null) {
        request.addParameter(
            "DhcpOptionsId",
            StringUtils.fromString(associateDhcpOptionsRequest.getDhcpOptionsId()));
      }
    }
    if (associateDhcpOptionsRequest != null) {
      if (associateDhcpOptionsRequest.getVpcId() != null) {
        request.addParameter(
            "VpcId", StringUtils.fromString(associateDhcpOptionsRequest.getVpcId()));
      }
    }

    return request;
  }