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

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

    if (other.getServiceNames() == null ^ this.getServiceNames() == null) return false;
    if (other.getServiceNames() != null && other.getServiceNames().equals(this.getServiceNames()) == false) return false;
    if (other.getFilters( ) == null ^ this.getFilters( ) == null) return false;
    if (other.getFilters( ) != null && other.getFilters( ).equals(this.getFilters()) == false) return false;
    return true;
  }