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

        if (obj instanceof ProtocolDetails == false)
            return false;
        ProtocolDetails other = (ProtocolDetails) obj;
        if (other.getPassiveIp() == null ^ this.getPassiveIp() == null)
            return false;
        if (other.getPassiveIp() != null && other.getPassiveIp().equals(this.getPassiveIp()) == false)
            return false;
        if (other.getTlsSessionResumptionMode() == null ^ this.getTlsSessionResumptionMode() == null)
            return false;
        if (other.getTlsSessionResumptionMode() != null && other.getTlsSessionResumptionMode().equals(this.getTlsSessionResumptionMode()) == false)
            return false;
        if (other.getSetStatOption() == null ^ this.getSetStatOption() == null)
            return false;
        if (other.getSetStatOption() != null && other.getSetStatOption().equals(this.getSetStatOption()) == false)
            return false;
        if (other.getAs2Transports() == null ^ this.getAs2Transports() == null)
            return false;
        if (other.getAs2Transports() != null && other.getAs2Transports().equals(this.getAs2Transports()) == 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-transfer/src/main/java/com/amazonaws/services/transfer/model/ProtocolDetails.java