@java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.visionai.v1.ProcessorConfig)) {
      return super.equals(obj);
    }
    com.google.cloud.visionai.v1.ProcessorConfig other =
        (com.google.cloud.visionai.v1.ProcessorConfig) obj;

    if (hasExperimentalConfig() != other.hasExperimentalConfig()) return false;
    if (hasExperimentalConfig()) {
      if (!getExperimentalConfig().equals(other.getExperimentalConfig())) return false;
    }
    if (!getProcessorConfigCase().equals(other.getProcessorConfigCase())) return false;
    switch (processorConfigCase_) {
      case 9:
        if (!getVideoStreamInputConfig().equals(other.getVideoStreamInputConfig())) return false;
        break;
      case 20:
        if (!getAiEnabledDevicesInputConfig().equals(other.getAiEnabledDevicesInputConfig()))
          return false;
        break;
      case 10:
        if (!getMediaWarehouseConfig().equals(other.getMediaWarehouseConfig())) return false;
        break;
      case 11:
        if (!getPersonBlurConfig().equals(other.getPersonBlurConfig())) return false;
        break;
      case 12:
        if (!getOccupancyCountConfig().equals(other.getOccupancyCountConfig())) return false;
        break;
      case 15:
        if (!getPersonVehicleDetectionConfig().equals(other.getPersonVehicleDetectionConfig()))
          return false;
        break;
      case 13:
        if (!getVertexAutomlVisionConfig().equals(other.getVertexAutomlVisionConfig()))
          return false;
        break;
      case 14:
        if (!getVertexAutomlVideoConfig().equals(other.getVertexAutomlVideoConfig())) return false;
        break;
      case 17:
        if (!getVertexCustomConfig().equals(other.getVertexCustomConfig())) return false;
        break;
      case 18:
        if (!getGeneralObjectDetectionConfig().equals(other.getGeneralObjectDetectionConfig()))
          return false;
        break;
      case 19:
        if (!getBigQueryConfig().equals(other.getBigQueryConfig())) return false;
        break;
      case 27:
        if (!getGcsOutputConfig().equals(other.getGcsOutputConfig())) return false;
        break;
      case 21:
        if (!getProductRecognizerConfig().equals(other.getProductRecognizerConfig())) return false;
        break;
      case 22:
        if (!getPersonalProtectiveEquipmentDetectionConfig()
            .equals(other.getPersonalProtectiveEquipmentDetectionConfig())) return false;
        break;
      case 25:
        if (!getTagRecognizerConfig().equals(other.getTagRecognizerConfig())) return false;
        break;
      case 28:
        if (!getUniversalInputConfig().equals(other.getUniversalInputConfig())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
Experimental configurations. Structured object containing not-yet-stable
processor parameters.
</pre>

<code>.google.protobuf.Struct experimental_config = 26;</code>
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/ProcessorConfig.java