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

        if (obj instanceof SupportedInstanceType == false)
            return false;
        SupportedInstanceType other = (SupportedInstanceType) obj;
        if (other.getType() == null ^ this.getType() == null)
            return false;
        if (other.getType() != null && other.getType().equals(this.getType()) == false)
            return false;
        if (other.getMemoryGB() == null ^ this.getMemoryGB() == null)
            return false;
        if (other.getMemoryGB() != null && other.getMemoryGB().equals(this.getMemoryGB()) == false)
            return false;
        if (other.getStorageGB() == null ^ this.getStorageGB() == null)
            return false;
        if (other.getStorageGB() != null && other.getStorageGB().equals(this.getStorageGB()) == false)
            return false;
        if (other.getVCPU() == null ^ this.getVCPU() == null)
            return false;
        if (other.getVCPU() != null && other.getVCPU().equals(this.getVCPU()) == false)
            return false;
        if (other.getIs64BitsOnly() == null ^ this.getIs64BitsOnly() == null)
            return false;
        if (other.getIs64BitsOnly() != null && other.getIs64BitsOnly().equals(this.getIs64BitsOnly()) == false)
            return false;
        if (other.getInstanceFamilyId() == null ^ this.getInstanceFamilyId() == null)
            return false;
        if (other.getInstanceFamilyId() != null && other.getInstanceFamilyId().equals(this.getInstanceFamilyId()) == false)
            return false;
        if (other.getEbsOptimizedAvailable() == null ^ this.getEbsOptimizedAvailable() == null)
            return false;
        if (other.getEbsOptimizedAvailable() != null && other.getEbsOptimizedAvailable().equals(this.getEbsOptimizedAvailable()) == false)
            return false;
        if (other.getEbsOptimizedByDefault() == null ^ this.getEbsOptimizedByDefault() == null)
            return false;
        if (other.getEbsOptimizedByDefault() != null && other.getEbsOptimizedByDefault().equals(this.getEbsOptimizedByDefault()) == false)
            return false;
        if (other.getNumberOfDisks() == null ^ this.getNumberOfDisks() == null)
            return false;
        if (other.getNumberOfDisks() != null && other.getNumberOfDisks().equals(this.getNumberOfDisks()) == false)
            return false;
        if (other.getEbsStorageOnly() == null ^ this.getEbsStorageOnly() == null)
            return false;
        if (other.getEbsStorageOnly() != null && other.getEbsStorageOnly().equals(this.getEbsStorageOnly()) == false)
            return false;
        if (other.getArchitecture() == null ^ this.getArchitecture() == null)
            return false;
        if (other.getArchitecture() != null && other.getArchitecture().equals(this.getArchitecture()) == false)
            return false;
        return true;
    }
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
redacted from this string using a placeholder value.

@return A string representation of this object.

@see java.lang.Object#toString()
aws-java-sdk-emr/src/main/java/com/amazonaws/services/elasticmapreduce/model/SupportedInstanceType.java