@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 8:
                {
                  type_ = input.readEnum();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
              case 16:
                {
                  unit_ = input.readEnum();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
              case 26:
                {
                  input.readMessage(getAmountFieldBuilder().getBuilder(), extensionRegistry);
                  compensationAmountCase_ = 3;
                  break;
                } // case 26
              case 34:
                {
                  input.readMessage(getRangeFieldBuilder().getBuilder(), extensionRegistry);
                  compensationAmountCase_ = 4;
                  break;
                } // case 34
              case 42:
                {
                  description_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 42
              case 50:
                {
                  input.readMessage(
                      getExpectedUnitsPerYearFieldBuilder().getBuilder(), extensionRegistry);
                  bitField0_ |= 0x00000020;
                  break;
                } // case 50
              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>
A compensation entry that represents one component of compensation, such
as base pay, bonus, or other compensation type.

Annualization: One compensation entry can be annualized if
- it contains valid
[amount][google.cloud.talent.v4.CompensationInfo.CompensationEntry.amount]
or
[range][google.cloud.talent.v4.CompensationInfo.CompensationEntry.range].
- and its
[expected_units_per_year][google.cloud.talent.v4.CompensationInfo.CompensationEntry.expected_units_per_year]
is set or can be derived. Its annualized range is determined as
([amount][google.cloud.talent.v4.CompensationInfo.CompensationEntry.amount]
or
[range][google.cloud.talent.v4.CompensationInfo.CompensationEntry.range])
times
[expected_units_per_year][google.cloud.talent.v4.CompensationInfo.CompensationEntry.expected_units_per_year].
</pre>

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