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

    if (!getFallbackStartingOffset().equals(other.getFallbackStartingOffset())) return false;
    if (!getStartingOffsetCase().equals(other.getStartingOffsetCase())) return false;
    switch (startingOffsetCase_) {
      case 1:
        if (!getStartingLogicalOffset().equals(other.getStartingLogicalOffset())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
This is the logical starting point to fallback upon should the
specified starting offset be unavailable.

This can be one of the following values:

"begin": This will read from the earliest available message.

"end": This will read only future messages.
</pre>

<code>string fallback_starting_offset = 2;</code>

@return The bytes for fallbackStartingOffset.
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/ControlledMode.java