@java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10:
              {
                query_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
            case 18:
              {
                java.lang.String s = input.readStringRequireUtf8();
                ensureCompaniesIsMutable();
                companies_.add(s);
                break;
              } // case 18
            case 26:
              {
                com.google.cloud.talent.v4.LocationFilter m =
                    input.readMessage(
                        com.google.cloud.talent.v4.LocationFilter.parser(), extensionRegistry);
                if (locationFiltersBuilder_ == null) {
                  ensureLocationFiltersIsMutable();
                  locationFilters_.add(m);
                } else {
                  locationFiltersBuilder_.addMessage(m);
                }
                break;
              } // case 26
            case 32:
              {
                int tmpRaw = input.readEnum();
                ensureJobCategoriesIsMutable();
                jobCategories_.add(tmpRaw);
                break;
              } // case 32
            case 34:
              {
                int length = input.readRawVarint32();
                int oldLimit = input.pushLimit(length);
                while (input.getBytesUntilLimit() > 0) {
                  int tmpRaw = input.readEnum();
                  ensureJobCategoriesIsMutable();
                  jobCategories_.add(tmpRaw);
                }
                input.popLimit(oldLimit);
                break;
              } // case 34
            case 42:
              {
                input.readMessage(getCommuteFilterFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000020;
                break;
              } // case 42
            case 50:
              {
                java.lang.String s = input.readStringRequireUtf8();
                ensureCompanyDisplayNamesIsMutable();
                companyDisplayNames_.add(s);
                break;
              } // case 50
            case 58:
              {
                input.readMessage(
                    getCompensationFilterFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000080;
                break;
              } // case 58
            case 66:
              {
                customAttributeFilter_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000100;
                break;
              } // case 66
            case 72:
              {
                disableSpellCheck_ = input.readBool();
                bitField0_ |= 0x00000200;
                break;
              } // case 72
            case 80:
              {
                int tmpRaw = input.readEnum();
                ensureEmploymentTypesIsMutable();
                employmentTypes_.add(tmpRaw);
                break;
              } // case 80
            case 82:
              {
                int length = input.readRawVarint32();
                int oldLimit = input.pushLimit(length);
                while (input.getBytesUntilLimit() > 0) {
                  int tmpRaw = input.readEnum();
                  ensureEmploymentTypesIsMutable();
                  employmentTypes_.add(tmpRaw);
                }
                input.popLimit(oldLimit);
                break;
              } // case 82
            case 90:
              {
                java.lang.String s = input.readStringRequireUtf8();
                ensureLanguageCodesIsMutable();
                languageCodes_.add(s);
                break;
              } // case 90
            case 98:
              {
                input.readMessage(
                    getPublishTimeRangeFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00001000;
                break;
              } // case 98
            case 106:
              {
                java.lang.String s = input.readStringRequireUtf8();
                ensureExcludedJobsIsMutable();
                excludedJobs_.add(s);
                break;
              } // case 106
            case 114:
              {
                queryLanguageCode_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 114
            default:
              {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
<pre>
The query required to perform a search query.
</pre>

Protobuf type {@code google.cloud.talent.v4.JobQuery}
java-talent/proto-google-cloud-talent-v4/src/main/java/com/google/cloud/talent/v4/JobQuery.java