public Request<CreateDBParameterGroupRequest> marshall(
      CreateDBParameterGroupRequest createDBParameterGroupRequest) {
    Request<CreateDBParameterGroupRequest> request =
        new DefaultRequest<CreateDBParameterGroupRequest>(
            createDBParameterGroupRequest, "AmazonRDS");
    request.addParameter("Action", "CreateDBParameterGroup");
    request.addParameter("Version", "2011-04-01");
    if (createDBParameterGroupRequest != null) {
      if (createDBParameterGroupRequest.getDBParameterGroupName() != null) {
        request.addParameter(
            "DBParameterGroupName",
            StringUtils.fromString(createDBParameterGroupRequest.getDBParameterGroupName()));
      }
    }
    if (createDBParameterGroupRequest != null) {
      if (createDBParameterGroupRequest.getDBParameterGroupFamily() != null) {
        request.addParameter(
            "DBParameterGroupFamily",
            StringUtils.fromString(createDBParameterGroupRequest.getDBParameterGroupFamily()));
      }
    }
    if (createDBParameterGroupRequest != null) {
      if (createDBParameterGroupRequest.getDescription() != null) {
        request.addParameter(
            "Description", StringUtils.fromString(createDBParameterGroupRequest.getDescription()));
      }
    }

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

    if (obj instanceof CreateDBParameterGroupRequest == false) return false;
    CreateDBParameterGroupRequest other = (CreateDBParameterGroupRequest) obj;

    if (other.getDBParameterGroupName() == null ^ this.getDBParameterGroupName() == null)
      return false;
    if (other.getDBParameterGroupName() != null
        && other.getDBParameterGroupName().equals(this.getDBParameterGroupName()) == false)
      return false;
    if (other.getDBParameterGroupFamily() == null ^ this.getDBParameterGroupFamily() == null)
      return false;
    if (other.getDBParameterGroupFamily() != null
        && other.getDBParameterGroupFamily().equals(this.getDBParameterGroupFamily()) == false)
      return false;
    if (other.getDescription() == null ^ this.getDescription() == null) return false;
    if (other.getDescription() != null
        && other.getDescription().equals(this.getDescription()) == false) return false;
    return true;
  }