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

        if (obj instanceof ApplicationConfiguration == false)
            return false;
        ApplicationConfiguration other = (ApplicationConfiguration) obj;
        if (other.getSqlApplicationConfiguration() == null ^ this.getSqlApplicationConfiguration() == null)
            return false;
        if (other.getSqlApplicationConfiguration() != null && other.getSqlApplicationConfiguration().equals(this.getSqlApplicationConfiguration()) == false)
            return false;
        if (other.getFlinkApplicationConfiguration() == null ^ this.getFlinkApplicationConfiguration() == null)
            return false;
        if (other.getFlinkApplicationConfiguration() != null
                && other.getFlinkApplicationConfiguration().equals(this.getFlinkApplicationConfiguration()) == false)
            return false;
        if (other.getEnvironmentProperties() == null ^ this.getEnvironmentProperties() == null)
            return false;
        if (other.getEnvironmentProperties() != null && other.getEnvironmentProperties().equals(this.getEnvironmentProperties()) == false)
            return false;
        if (other.getApplicationCodeConfiguration() == null ^ this.getApplicationCodeConfiguration() == null)
            return false;
        if (other.getApplicationCodeConfiguration() != null && other.getApplicationCodeConfiguration().equals(this.getApplicationCodeConfiguration()) == false)
            return false;
        if (other.getApplicationSnapshotConfiguration() == null ^ this.getApplicationSnapshotConfiguration() == null)
            return false;
        if (other.getApplicationSnapshotConfiguration() != null
                && other.getApplicationSnapshotConfiguration().equals(this.getApplicationSnapshotConfiguration()) == false)
            return false;
        if (other.getApplicationSystemRollbackConfiguration() == null ^ this.getApplicationSystemRollbackConfiguration() == null)
            return false;
        if (other.getApplicationSystemRollbackConfiguration() != null
                && other.getApplicationSystemRollbackConfiguration().equals(this.getApplicationSystemRollbackConfiguration()) == false)
            return false;
        if (other.getVpcConfigurations() == null ^ this.getVpcConfigurations() == null)
            return false;
        if (other.getVpcConfigurations() != null && other.getVpcConfigurations().equals(this.getVpcConfigurations()) == false)
            return false;
        if (other.getZeppelinApplicationConfiguration() == null ^ this.getZeppelinApplicationConfiguration() == null)
            return false;
        if (other.getZeppelinApplicationConfiguration() != null
                && other.getZeppelinApplicationConfiguration().equals(this.getZeppelinApplicationConfiguration()) == 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-kinesisanalyticsv2/src/main/java/com/amazonaws/services/kinesisanalyticsv2/model/ApplicationConfiguration.java