@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:
              {
                name_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
            case 26:
              {
                description_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 26
            case 42:
              {
                acceleratorType_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000004;
                break;
              } // case 42
            case 72:
              {
                state_ = input.readEnum();
                bitField0_ |= 0x00000008;
                break;
              } // case 72
            case 82:
              {
                healthDescription_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000010;
                break;
              } // case 82
            case 90:
              {
                runtimeVersion_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000020;
                break;
              } // case 90
            case 106:
              {
                cidrBlock_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000100;
                break;
              } // case 106
            case 130:
              {
                input.readMessage(getCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000400;
                break;
              } // case 130
            case 138:
              {
                input.readMessage(
                    getSchedulingConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000800;
                break;
              } // case 138
            case 170:
              {
                com.google.cloud.tpu.v2alpha1.NetworkEndpoint m =
                    input.readMessage(
                        com.google.cloud.tpu.v2alpha1.NetworkEndpoint.parser(), extensionRegistry);
                if (networkEndpointsBuilder_ == null) {
                  ensureNetworkEndpointsIsMutable();
                  networkEndpoints_.add(m);
                } else {
                  networkEndpointsBuilder_.addMessage(m);
                }
                break;
              } // case 170
            case 176:
              {
                health_ = input.readEnum();
                bitField0_ |= 0x00002000;
                break;
              } // case 176
            case 194:
              {
                com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
                    input.readMessage(
                        LabelsDefaultEntryHolder.defaultEntry.getParserForType(),
                        extensionRegistry);
                internalGetMutableLabels()
                    .getMutableMap()
                    .put(labels__.getKey(), labels__.getValue());
                bitField0_ |= 0x00004000;
                break;
              } // case 194
            case 264:
              {
                id_ = input.readInt64();
                bitField0_ |= 0x00020000;
                break;
              } // case 264
            case 274:
              {
                com.google.protobuf.MapEntry<java.lang.String, java.lang.String> metadata__ =
                    input.readMessage(
                        MetadataDefaultEntryHolder.defaultEntry.getParserForType(),
                        extensionRegistry);
                internalGetMutableMetadata()
                    .getMutableMap()
                    .put(metadata__.getKey(), metadata__.getValue());
                bitField0_ |= 0x00008000;
                break;
              } // case 274
            case 290:
              {
                input.readMessage(getNetworkConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000040;
                break;
              } // case 290
            case 298:
              {
                input.readMessage(getServiceAccountFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000200;
                break;
              } // case 298
            case 304:
              {
                apiVersion_ = input.readEnum();
                bitField0_ |= 0x00080000;
                break;
              } // case 304
            case 314:
              {
                com.google.cloud.tpu.v2alpha1.Symptom m =
                    input.readMessage(
                        com.google.cloud.tpu.v2alpha1.Symptom.parser(), extensionRegistry);
                if (symptomsBuilder_ == null) {
                  ensureSymptomsIsMutable();
                  symptoms_.add(m);
                } else {
                  symptomsBuilder_.addMessage(m);
                }
                break;
              } // case 314
            case 322:
              {
                java.lang.String s = input.readStringRequireUtf8();
                ensureTagsIsMutable();
                tags_.add(s);
                break;
              } // case 322
            case 330:
              {
                com.google.cloud.tpu.v2alpha1.AttachedDisk m =
                    input.readMessage(
                        com.google.cloud.tpu.v2alpha1.AttachedDisk.parser(), extensionRegistry);
                if (dataDisksBuilder_ == null) {
                  ensureDataDisksIsMutable();
                  dataDisks_.add(m);
                } else {
                  dataDisksBuilder_.addMessage(m);
                }
                break;
              } // case 330
            case 346:
              {
                queuedResource_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00200000;
                break;
              } // case 346
            case 354:
              {
                input.readMessage(
                    getAcceleratorConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00400000;
                break;
              } // case 354
            case 362:
              {
                input.readMessage(
                    getShieldedInstanceConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00800000;
                break;
              } // case 362
            case 376:
              {
                multisliceNode_ = input.readBool();
                bitField0_ |= 0x01000000;
                break;
              } // case 376
            case 384:
              {
                autocheckpointEnabled_ = input.readBool();
                bitField0_ |= 0x02000000;
                break;
              } // case 384
            case 394:
              {
                input.readMessage(getBootDiskConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x04000000;
                break;
              } // case 394
            case 402:
              {
                com.google.cloud.tpu.v2alpha1.NetworkConfig m =
                    input.readMessage(
                        com.google.cloud.tpu.v2alpha1.NetworkConfig.parser(), extensionRegistry);
                if (networkConfigsBuilder_ == null) {
                  ensureNetworkConfigsIsMutable();
                  networkConfigs_.add(m);
                } else {
                  networkConfigsBuilder_.addMessage(m);
                }
                break;
              } // case 402
            case 410:
              {
                input.readMessage(
                    getUpcomingMaintenanceFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x08000000;
                break;
              } // case 410
            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 TPU instance.
</pre>

Protobuf type {@code google.cloud.tpu.v2alpha1.Node}
java-tpu/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/Node.java