@Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;

        hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode());
        hashCode = prime * hashCode + ((getStartTime() == null) ? 0 : getStartTime().hashCode());
        hashCode = prime * hashCode + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
        hashCode = prime * hashCode + ((getSourceType() == null) ? 0 : getSourceType().hashCode());
        hashCode = prime * hashCode + ((getSourceARN() == null) ? 0 : getSourceARN().hashCode());
        hashCode = prime * hashCode + ((getLogGroup() == null) ? 0 : getLogGroup().hashCode());
        hashCode = prime * hashCode + ((getLineTime() == null) ? 0 : getLineTime().hashCode());
        hashCode = prime * hashCode + ((getLogText() == null) ? 0 : getLogText().hashCode());
        hashCode = prime * hashCode + ((getLogFilter() == null) ? 0 : getLogFilter().hashCode());
        hashCode = prime * hashCode + ((getMetricNamespace() == null) ? 0 : getMetricNamespace().hashCode());
        hashCode = prime * hashCode + ((getMetricName() == null) ? 0 : getMetricName().hashCode());
        hashCode = prime * hashCode + ((getUnit() == null) ? 0 : getUnit().hashCode());
        hashCode = prime * hashCode + ((getValue() == null) ? 0 : getValue().hashCode());
        hashCode = prime * hashCode + ((getCloudWatchEventId() == null) ? 0 : getCloudWatchEventId().hashCode());
        hashCode = prime * hashCode + ((getCloudWatchEventSource() == null) ? 0 : getCloudWatchEventSource().hashCode());
        hashCode = prime * hashCode + ((getCloudWatchEventDetailType() == null) ? 0 : getCloudWatchEventDetailType().hashCode());
        hashCode = prime * hashCode + ((getHealthEventArn() == null) ? 0 : getHealthEventArn().hashCode());
        hashCode = prime * hashCode + ((getHealthService() == null) ? 0 : getHealthService().hashCode());
        hashCode = prime * hashCode + ((getHealthEventTypeCode() == null) ? 0 : getHealthEventTypeCode().hashCode());
        hashCode = prime * hashCode + ((getHealthEventTypeCategory() == null) ? 0 : getHealthEventTypeCategory().hashCode());
        hashCode = prime * hashCode + ((getHealthEventDescription() == null) ? 0 : getHealthEventDescription().hashCode());
        hashCode = prime * hashCode + ((getCodeDeployDeploymentId() == null) ? 0 : getCodeDeployDeploymentId().hashCode());
        hashCode = prime * hashCode + ((getCodeDeployDeploymentGroup() == null) ? 0 : getCodeDeployDeploymentGroup().hashCode());
        hashCode = prime * hashCode + ((getCodeDeployState() == null) ? 0 : getCodeDeployState().hashCode());
        hashCode = prime * hashCode + ((getCodeDeployApplication() == null) ? 0 : getCodeDeployApplication().hashCode());
        hashCode = prime * hashCode + ((getCodeDeployInstanceGroupId() == null) ? 0 : getCodeDeployInstanceGroupId().hashCode());
        hashCode = prime * hashCode + ((getEc2State() == null) ? 0 : getEc2State().hashCode());
        hashCode = prime * hashCode + ((getRdsEventCategories() == null) ? 0 : getRdsEventCategories().hashCode());
        hashCode = prime * hashCode + ((getRdsEventMessage() == null) ? 0 : getRdsEventMessage().hashCode());
        hashCode = prime * hashCode + ((getS3EventName() == null) ? 0 : getS3EventName().hashCode());
        hashCode = prime * hashCode + ((getStatesExecutionArn() == null) ? 0 : getStatesExecutionArn().hashCode());
        hashCode = prime * hashCode + ((getStatesArn() == null) ? 0 : getStatesArn().hashCode());
        hashCode = prime * hashCode + ((getStatesStatus() == null) ? 0 : getStatesStatus().hashCode());
        hashCode = prime * hashCode + ((getStatesInput() == null) ? 0 : getStatesInput().hashCode());
        hashCode = prime * hashCode + ((getEbsEvent() == null) ? 0 : getEbsEvent().hashCode());
        hashCode = prime * hashCode + ((getEbsResult() == null) ? 0 : getEbsResult().hashCode());
        hashCode = prime * hashCode + ((getEbsCause() == null) ? 0 : getEbsCause().hashCode());
        hashCode = prime * hashCode + ((getEbsRequestId() == null) ? 0 : getEbsRequestId().hashCode());
        hashCode = prime * hashCode + ((getXRayFaultPercent() == null) ? 0 : getXRayFaultPercent().hashCode());
        hashCode = prime * hashCode + ((getXRayThrottlePercent() == null) ? 0 : getXRayThrottlePercent().hashCode());
        hashCode = prime * hashCode + ((getXRayErrorPercent() == null) ? 0 : getXRayErrorPercent().hashCode());
        hashCode = prime * hashCode + ((getXRayRequestCount() == null) ? 0 : getXRayRequestCount().hashCode());
        hashCode = prime * hashCode + ((getXRayRequestAverageLatency() == null) ? 0 : getXRayRequestAverageLatency().hashCode());
        hashCode = prime * hashCode + ((getXRayNodeName() == null) ? 0 : getXRayNodeName().hashCode());
        hashCode = prime * hashCode + ((getXRayNodeType() == null) ? 0 : getXRayNodeType().hashCode());
        return hashCode;
    }
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-applicationinsights/src/main/java/com/amazonaws/services/applicationinsights/model/Observation.java