@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    if (hasCreateTime()) {
      hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getCreateTime().hashCode();
    }
    if (hasUpdateTime()) {
      hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getUpdateTime().hashCode();
    }
    if (!internalGetLabels().getMap().isEmpty()) {
      hash = (37 * hash) + LABELS_FIELD_NUMBER;
      hash = (53 * hash) + internalGetLabels().hashCode();
    }
    hash = (37 * hash) + UID_FIELD_NUMBER;
    hash = (53 * hash) + getUid().hashCode();
    hash = (37 * hash) + ORGANIZATION_NUMBER_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getOrganizationNumber());
    hash = (37 * hash) + INCLUDE_NEWLY_CREATED_BUCKETS_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeNewlyCreatedBuckets());
    hash = (37 * hash) + SKIP_VERIFICATION_AND_INGEST_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getSkipVerificationAndIngest());
    hash = (37 * hash) + RETENTION_PERIOD_DAYS_FIELD_NUMBER;
    hash = (53 * hash) + getRetentionPeriodDays();
    if (hasLink()) {
      hash = (37 * hash) + LINK_FIELD_NUMBER;
      hash = (53 * hash) + getLink().hashCode();
    }
    if (hasIdentity()) {
      hash = (37 * hash) + IDENTITY_FIELD_NUMBER;
      hash = (53 * hash) + getIdentity().hashCode();
    }
    if (hasStatus()) {
      hash = (37 * hash) + STATUS_FIELD_NUMBER;
      hash = (53 * hash) + getStatus().hashCode();
    }
    hash = (37 * hash) + DATASET_CONFIG_STATE_FIELD_NUMBER;
    hash = (53 * hash) + datasetConfigState_;
    hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
    hash = (53 * hash) + getDescription().hashCode();
    switch (sourceOptionsCase_) {
      case 7:
        hash = (37 * hash) + SOURCE_PROJECTS_FIELD_NUMBER;
        hash = (53 * hash) + getSourceProjects().hashCode();
        break;
      case 24:
        hash = (37 * hash) + SOURCE_FOLDERS_FIELD_NUMBER;
        hash = (53 * hash) + getSourceFolders().hashCode();
        break;
      case 25:
        hash = (37 * hash) + ORGANIZATION_SCOPE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getOrganizationScope());
        break;
      case 21:
        hash = (37 * hash) + CLOUD_STORAGE_OBJECT_PATH_FIELD_NUMBER;
        hash = (53 * hash) + getCloudStorageObjectPath().hashCode();
        break;
      case 0:
      default:
    }
    switch (cloudStorageLocationsCase_) {
      case 8:
        hash = (37 * hash) + INCLUDE_CLOUD_STORAGE_LOCATIONS_FIELD_NUMBER;
        hash = (53 * hash) + getIncludeCloudStorageLocations().hashCode();
        break;
      case 9:
        hash = (37 * hash) + EXCLUDE_CLOUD_STORAGE_LOCATIONS_FIELD_NUMBER;
        hash = (53 * hash) + getExcludeCloudStorageLocations().hashCode();
        break;
      case 0:
      default:
    }
    switch (cloudStorageBucketsCase_) {
      case 10:
        hash = (37 * hash) + INCLUDE_CLOUD_STORAGE_BUCKETS_FIELD_NUMBER;
        hash = (53 * hash) + getIncludeCloudStorageBuckets().hashCode();
        break;
      case 11:
        hash = (37 * hash) + EXCLUDE_CLOUD_STORAGE_BUCKETS_FIELD_NUMBER;
        hash = (53 * hash) + getExcludeCloudStorageBuckets().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
Optional. A user-provided description for the dataset configuration.

Maximum length: 256 characters.
</pre>

<code>string description = 20 [(.google.api.field_behavior) = OPTIONAL];</code>

@return The bytes for description.
java-storageinsights/proto-google-cloud-storageinsights-v1/src/main/java/com/google/cloud/storageinsights/v1/DatasetConfig.java