// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: tensorflow/contrib/eager/proto/checkpointable_object_graph.proto

package tensorflow.contrib.eager;

public final class CheckpointableObjectGraphOuterClass {
  private CheckpointableObjectGraphOuterClass() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface CheckpointableObjectGraphOrBuilder extends
      // @@protoc_insertion_point(interface_extends:tensorflow.contrib.eager.CheckpointableObjectGraph)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object> 
        getNodesList();
    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object getNodes(int index);
    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    int getNodesCount();
    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder> 
        getNodesOrBuilderList();
    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder getNodesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph}
   */
  public  static final class CheckpointableObjectGraph extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:tensorflow.contrib.eager.CheckpointableObjectGraph)
      CheckpointableObjectGraphOrBuilder {
    // Use CheckpointableObjectGraph.newBuilder() to construct.
    private CheckpointableObjectGraph(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CheckpointableObjectGraph() {
      nodes_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private CheckpointableObjectGraph(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                nodes_ = new java.util.ArrayList<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object>();
                mutable_bitField0_ |= 0x00000001;
              }
              nodes_.add(
                  input.readMessage(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.parser(), extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          nodes_ = java.util.Collections.unmodifiableList(nodes_);
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Builder.class);
    }

    public interface ObjectOrBuilder extends
        // @@protoc_insertion_point(interface_extends:tensorflow.contrib.eager.CheckpointableObjectGraph.Object)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference> 
          getChildrenList();
      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference getChildren(int index);
      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      int getChildrenCount();
      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder> 
          getChildrenOrBuilderList();
      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder getChildrenOrBuilder(
          int index);

      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor> 
          getAttributesList();
      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor getAttributes(int index);
      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      int getAttributesCount();
      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder> 
          getAttributesOrBuilderList();
      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder getAttributesOrBuilder(
          int index);

      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference> 
          getSlotVariablesList();
      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference getSlotVariables(int index);
      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      int getSlotVariablesCount();
      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder> 
          getSlotVariablesOrBuilderList();
      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder getSlotVariablesOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph.Object}
     */
    public  static final class Object extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:tensorflow.contrib.eager.CheckpointableObjectGraph.Object)
        ObjectOrBuilder {
      // Use Object.newBuilder() to construct.
      private Object(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Object() {
        children_ = java.util.Collections.emptyList();
        attributes_ = java.util.Collections.emptyList();
        slotVariables_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
      }
      private Object(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!input.skipField(tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                  children_ = new java.util.ArrayList<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference>();
                  mutable_bitField0_ |= 0x00000001;
                }
                children_.add(
                    input.readMessage(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.parser(), extensionRegistry));
                break;
              }
              case 18: {
                if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                  attributes_ = new java.util.ArrayList<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor>();
                  mutable_bitField0_ |= 0x00000002;
                }
                attributes_.add(
                    input.readMessage(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.parser(), extensionRegistry));
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                  slotVariables_ = new java.util.ArrayList<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference>();
                  mutable_bitField0_ |= 0x00000004;
                }
                slotVariables_.add(
                    input.readMessage(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.parser(), extensionRegistry));
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
            children_ = java.util.Collections.unmodifiableList(children_);
          }
          if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
            attributes_ = java.util.Collections.unmodifiableList(attributes_);
          }
          if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
            slotVariables_ = java.util.Collections.unmodifiableList(slotVariables_);
          }
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder.class);
      }

      public interface ObjectReferenceOrBuilder extends
          // @@protoc_insertion_point(interface_extends:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference)
          com.google.protobuf.MessageOrBuilder {

        /**
         * <pre>
         * An index into `CheckpointableObjectGraph.nodes`, indicating the object
         * being referenced.
         * </pre>
         *
         * <code>int32 node_id = 1;</code>
         */
        int getNodeId();

        /**
         * <pre>
         * A user-provided name for the edge.
         * </pre>
         *
         * <code>string local_name = 2;</code>
         */
        java.lang.String getLocalName();
        /**
         * <pre>
         * A user-provided name for the edge.
         * </pre>
         *
         * <code>string local_name = 2;</code>
         */
        com.google.protobuf.ByteString
            getLocalNameBytes();
      }
      /**
       * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference}
       */
      public  static final class ObjectReference extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference)
          ObjectReferenceOrBuilder {
        // Use ObjectReference.newBuilder() to construct.
        private ObjectReference(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private ObjectReference() {
          nodeId_ = 0;
          localName_ = "";
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
        }
        private ObjectReference(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          int mutable_bitField0_ = 0;
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!input.skipField(tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {

                  nodeId_ = input.readInt32();
                  break;
                }
                case 18: {
                  java.lang.String s = input.readStringRequireUtf8();

                  localName_ = s;
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder.class);
        }

        public static final int NODE_ID_FIELD_NUMBER = 1;
        private int nodeId_;
        /**
         * <pre>
         * An index into `CheckpointableObjectGraph.nodes`, indicating the object
         * being referenced.
         * </pre>
         *
         * <code>int32 node_id = 1;</code>
         */
        public int getNodeId() {
          return nodeId_;
        }

        public static final int LOCAL_NAME_FIELD_NUMBER = 2;
        private volatile java.lang.Object localName_;
        /**
         * <pre>
         * A user-provided name for the edge.
         * </pre>
         *
         * <code>string local_name = 2;</code>
         */
        public java.lang.String getLocalName() {
          java.lang.Object ref = localName_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            com.google.protobuf.ByteString bs = 
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            localName_ = s;
            return s;
          }
        }
        /**
         * <pre>
         * A user-provided name for the edge.
         * </pre>
         *
         * <code>string local_name = 2;</code>
         */
        public com.google.protobuf.ByteString
            getLocalNameBytes() {
          java.lang.Object ref = localName_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            localName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized == 1) return true;
          if (isInitialized == 0) return false;

          memoizedIsInitialized = 1;
          return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (nodeId_ != 0) {
            output.writeInt32(1, nodeId_);
          }
          if (!getLocalNameBytes().isEmpty()) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 2, localName_);
          }
        }

        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;

          size = 0;
          if (nodeId_ != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(1, nodeId_);
          }
          if (!getLocalNameBytes().isEmpty()) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, localName_);
          }
          memoizedSize = size;
          return size;
        }

        private static final long serialVersionUID = 0L;
        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference)) {
            return super.equals(obj);
          }
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference other = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference) obj;

          boolean result = true;
          result = result && (getNodeId()
              == other.getNodeId());
          result = result && getLocalName()
              .equals(other.getLocalName());
          return result;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          hash = (37 * hash) + NODE_ID_FIELD_NUMBER;
          hash = (53 * hash) + getNodeId();
          hash = (37 * hash) + LOCAL_NAME_FIELD_NUMBER;
          hash = (53 * hash) + getLocalName().hashCode();
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference)
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_descriptor;
          }

          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder.class);
          }

          // Construct using tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
            }
          }
          public Builder clear() {
            super.clear();
            nodeId_ = 0;

            localName_ = "";

            return this;
          }

          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_descriptor;
          }

          public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference getDefaultInstanceForType() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.getDefaultInstance();
          }

          public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference build() {
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference buildPartial() {
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference result = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference(this);
            result.nodeId_ = nodeId_;
            result.localName_ = localName_;
            onBuilt();
            return result;
          }

          public Builder clone() {
            return (Builder) super.clone();
          }
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.setField(field, value);
          }
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return (Builder) super.clearField(field);
          }
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return (Builder) super.clearOneof(oneof);
          }
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, Object value) {
            return (Builder) super.setRepeatedField(field, index, value);
          }
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.addRepeatedField(field, value);
          }
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference) {
              return mergeFrom((tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference other) {
            if (other == tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.getDefaultInstance()) return this;
            if (other.getNodeId() != 0) {
              setNodeId(other.getNodeId());
            }
            if (!other.getLocalName().isEmpty()) {
              localName_ = other.localName_;
              onChanged();
            }
            onChanged();
            return this;
          }

          public final boolean isInitialized() {
            return true;
          }

          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference) e.getUnfinishedMessage();
              throw e.unwrapIOException();
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }

          private int nodeId_ ;
          /**
           * <pre>
           * An index into `CheckpointableObjectGraph.nodes`, indicating the object
           * being referenced.
           * </pre>
           *
           * <code>int32 node_id = 1;</code>
           */
          public int getNodeId() {
            return nodeId_;
          }
          /**
           * <pre>
           * An index into `CheckpointableObjectGraph.nodes`, indicating the object
           * being referenced.
           * </pre>
           *
           * <code>int32 node_id = 1;</code>
           */
          public Builder setNodeId(int value) {
            
            nodeId_ = value;
            onChanged();
            return this;
          }
          /**
           * <pre>
           * An index into `CheckpointableObjectGraph.nodes`, indicating the object
           * being referenced.
           * </pre>
           *
           * <code>int32 node_id = 1;</code>
           */
          public Builder clearNodeId() {
            
            nodeId_ = 0;
            onChanged();
            return this;
          }

          private java.lang.Object localName_ = "";
          /**
           * <pre>
           * A user-provided name for the edge.
           * </pre>
           *
           * <code>string local_name = 2;</code>
           */
          public java.lang.String getLocalName() {
            java.lang.Object ref = localName_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              localName_ = s;
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <pre>
           * A user-provided name for the edge.
           * </pre>
           *
           * <code>string local_name = 2;</code>
           */
          public com.google.protobuf.ByteString
              getLocalNameBytes() {
            java.lang.Object ref = localName_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              localName_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * <pre>
           * A user-provided name for the edge.
           * </pre>
           *
           * <code>string local_name = 2;</code>
           */
          public Builder setLocalName(
              java.lang.String value) {
            if (value == null) {
    throw new NullPointerException();
  }
  
            localName_ = value;
            onChanged();
            return this;
          }
          /**
           * <pre>
           * A user-provided name for the edge.
           * </pre>
           *
           * <code>string local_name = 2;</code>
           */
          public Builder clearLocalName() {
            
            localName_ = getDefaultInstance().getLocalName();
            onChanged();
            return this;
          }
          /**
           * <pre>
           * A user-provided name for the edge.
           * </pre>
           *
           * <code>string local_name = 2;</code>
           */
          public Builder setLocalNameBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
            
            localName_ = value;
            onChanged();
            return this;
          }
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return this;
          }

          public final Builder mergeUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return this;
          }


          // @@protoc_insertion_point(builder_scope:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference)
        }

        // @@protoc_insertion_point(class_scope:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference)
        private static final tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference();
        }

        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser<ObjectReference>
            PARSER = new com.google.protobuf.AbstractParser<ObjectReference>() {
          public ObjectReference parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
              return new ObjectReference(input, extensionRegistry);
          }
        };

        public static com.google.protobuf.Parser<ObjectReference> parser() {
          return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<ObjectReference> getParserForType() {
          return PARSER;
        }

        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      public interface SerializedTensorOrBuilder extends
          // @@protoc_insertion_point(interface_extends:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor)
          com.google.protobuf.MessageOrBuilder {

        /**
         * <pre>
         * A name for the Tensor. Simple variables have only one
         * `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
         * be restored on object creation as an optimization.
         * </pre>
         *
         * <code>string name = 1;</code>
         */
        java.lang.String getName();
        /**
         * <pre>
         * A name for the Tensor. Simple variables have only one
         * `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
         * be restored on object creation as an optimization.
         * </pre>
         *
         * <code>string name = 1;</code>
         */
        com.google.protobuf.ByteString
            getNameBytes();

        /**
         * <pre>
         * The full name of the variable/tensor, if applicable. Used to allow
         * name-based loading of checkpoints which were saved using an
         * object-based API. Should match the checkpoint key which would have been
         * assigned by tf.train.Saver.
         * </pre>
         *
         * <code>string full_name = 2;</code>
         */
        java.lang.String getFullName();
        /**
         * <pre>
         * The full name of the variable/tensor, if applicable. Used to allow
         * name-based loading of checkpoints which were saved using an
         * object-based API. Should match the checkpoint key which would have been
         * assigned by tf.train.Saver.
         * </pre>
         *
         * <code>string full_name = 2;</code>
         */
        com.google.protobuf.ByteString
            getFullNameBytes();

        /**
         * <pre>
         * The generated name of the Tensor in the checkpoint.
         * </pre>
         *
         * <code>string checkpoint_key = 3;</code>
         */
        java.lang.String getCheckpointKey();
        /**
         * <pre>
         * The generated name of the Tensor in the checkpoint.
         * </pre>
         *
         * <code>string checkpoint_key = 3;</code>
         */
        com.google.protobuf.ByteString
            getCheckpointKeyBytes();
      }
      /**
       * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor}
       */
      public  static final class SerializedTensor extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor)
          SerializedTensorOrBuilder {
        // Use SerializedTensor.newBuilder() to construct.
        private SerializedTensor(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private SerializedTensor() {
          name_ = "";
          fullName_ = "";
          checkpointKey_ = "";
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
        }
        private SerializedTensor(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          int mutable_bitField0_ = 0;
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!input.skipField(tag)) {
                    done = true;
                  }
                  break;
                }
                case 10: {
                  java.lang.String s = input.readStringRequireUtf8();

                  name_ = s;
                  break;
                }
                case 18: {
                  java.lang.String s = input.readStringRequireUtf8();

                  fullName_ = s;
                  break;
                }
                case 26: {
                  java.lang.String s = input.readStringRequireUtf8();

                  checkpointKey_ = s;
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder.class);
        }

        public static final int NAME_FIELD_NUMBER = 1;
        private volatile java.lang.Object name_;
        /**
         * <pre>
         * A name for the Tensor. Simple variables have only one
         * `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
         * be restored on object creation as an optimization.
         * </pre>
         *
         * <code>string name = 1;</code>
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            com.google.protobuf.ByteString bs = 
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          }
        }
        /**
         * <pre>
         * A name for the Tensor. Simple variables have only one
         * `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
         * be restored on object creation as an optimization.
         * </pre>
         *
         * <code>string name = 1;</code>
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        public static final int FULL_NAME_FIELD_NUMBER = 2;
        private volatile java.lang.Object fullName_;
        /**
         * <pre>
         * The full name of the variable/tensor, if applicable. Used to allow
         * name-based loading of checkpoints which were saved using an
         * object-based API. Should match the checkpoint key which would have been
         * assigned by tf.train.Saver.
         * </pre>
         *
         * <code>string full_name = 2;</code>
         */
        public java.lang.String getFullName() {
          java.lang.Object ref = fullName_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            com.google.protobuf.ByteString bs = 
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            fullName_ = s;
            return s;
          }
        }
        /**
         * <pre>
         * The full name of the variable/tensor, if applicable. Used to allow
         * name-based loading of checkpoints which were saved using an
         * object-based API. Should match the checkpoint key which would have been
         * assigned by tf.train.Saver.
         * </pre>
         *
         * <code>string full_name = 2;</code>
         */
        public com.google.protobuf.ByteString
            getFullNameBytes() {
          java.lang.Object ref = fullName_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            fullName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        public static final int CHECKPOINT_KEY_FIELD_NUMBER = 3;
        private volatile java.lang.Object checkpointKey_;
        /**
         * <pre>
         * The generated name of the Tensor in the checkpoint.
         * </pre>
         *
         * <code>string checkpoint_key = 3;</code>
         */
        public java.lang.String getCheckpointKey() {
          java.lang.Object ref = checkpointKey_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            com.google.protobuf.ByteString bs = 
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            checkpointKey_ = s;
            return s;
          }
        }
        /**
         * <pre>
         * The generated name of the Tensor in the checkpoint.
         * </pre>
         *
         * <code>string checkpoint_key = 3;</code>
         */
        public com.google.protobuf.ByteString
            getCheckpointKeyBytes() {
          java.lang.Object ref = checkpointKey_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            checkpointKey_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized == 1) return true;
          if (isInitialized == 0) return false;

          memoizedIsInitialized = 1;
          return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (!getNameBytes().isEmpty()) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
          }
          if (!getFullNameBytes().isEmpty()) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 2, fullName_);
          }
          if (!getCheckpointKeyBytes().isEmpty()) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 3, checkpointKey_);
          }
        }

        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;

          size = 0;
          if (!getNameBytes().isEmpty()) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
          }
          if (!getFullNameBytes().isEmpty()) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, fullName_);
          }
          if (!getCheckpointKeyBytes().isEmpty()) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, checkpointKey_);
          }
          memoizedSize = size;
          return size;
        }

        private static final long serialVersionUID = 0L;
        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor)) {
            return super.equals(obj);
          }
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor other = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor) obj;

          boolean result = true;
          result = result && getName()
              .equals(other.getName());
          result = result && getFullName()
              .equals(other.getFullName());
          result = result && getCheckpointKey()
              .equals(other.getCheckpointKey());
          return result;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          hash = (37 * hash) + NAME_FIELD_NUMBER;
          hash = (53 * hash) + getName().hashCode();
          hash = (37 * hash) + FULL_NAME_FIELD_NUMBER;
          hash = (53 * hash) + getFullName().hashCode();
          hash = (37 * hash) + CHECKPOINT_KEY_FIELD_NUMBER;
          hash = (53 * hash) + getCheckpointKey().hashCode();
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor)
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_descriptor;
          }

          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder.class);
          }

          // Construct using tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
            }
          }
          public Builder clear() {
            super.clear();
            name_ = "";

            fullName_ = "";

            checkpointKey_ = "";

            return this;
          }

          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_descriptor;
          }

          public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor getDefaultInstanceForType() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.getDefaultInstance();
          }

          public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor build() {
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor buildPartial() {
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor result = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor(this);
            result.name_ = name_;
            result.fullName_ = fullName_;
            result.checkpointKey_ = checkpointKey_;
            onBuilt();
            return result;
          }

          public Builder clone() {
            return (Builder) super.clone();
          }
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.setField(field, value);
          }
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return (Builder) super.clearField(field);
          }
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return (Builder) super.clearOneof(oneof);
          }
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, Object value) {
            return (Builder) super.setRepeatedField(field, index, value);
          }
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.addRepeatedField(field, value);
          }
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor) {
              return mergeFrom((tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor other) {
            if (other == tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.getDefaultInstance()) return this;
            if (!other.getName().isEmpty()) {
              name_ = other.name_;
              onChanged();
            }
            if (!other.getFullName().isEmpty()) {
              fullName_ = other.fullName_;
              onChanged();
            }
            if (!other.getCheckpointKey().isEmpty()) {
              checkpointKey_ = other.checkpointKey_;
              onChanged();
            }
            onChanged();
            return this;
          }

          public final boolean isInitialized() {
            return true;
          }

          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor) e.getUnfinishedMessage();
              throw e.unwrapIOException();
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }

          private java.lang.Object name_ = "";
          /**
           * <pre>
           * A name for the Tensor. Simple variables have only one
           * `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
           * be restored on object creation as an optimization.
           * </pre>
           *
           * <code>string name = 1;</code>
           */
          public java.lang.String getName() {
            java.lang.Object ref = name_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              name_ = s;
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <pre>
           * A name for the Tensor. Simple variables have only one
           * `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
           * be restored on object creation as an optimization.
           * </pre>
           *
           * <code>string name = 1;</code>
           */
          public com.google.protobuf.ByteString
              getNameBytes() {
            java.lang.Object ref = name_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              name_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * <pre>
           * A name for the Tensor. Simple variables have only one
           * `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
           * be restored on object creation as an optimization.
           * </pre>
           *
           * <code>string name = 1;</code>
           */
          public Builder setName(
              java.lang.String value) {
            if (value == null) {
    throw new NullPointerException();
  }
  
            name_ = value;
            onChanged();
            return this;
          }
          /**
           * <pre>
           * A name for the Tensor. Simple variables have only one
           * `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
           * be restored on object creation as an optimization.
           * </pre>
           *
           * <code>string name = 1;</code>
           */
          public Builder clearName() {
            
            name_ = getDefaultInstance().getName();
            onChanged();
            return this;
          }
          /**
           * <pre>
           * A name for the Tensor. Simple variables have only one
           * `SerializedTensor` named "VARIABLE_VALUE" by convention. This value may
           * be restored on object creation as an optimization.
           * </pre>
           *
           * <code>string name = 1;</code>
           */
          public Builder setNameBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
            
            name_ = value;
            onChanged();
            return this;
          }

          private java.lang.Object fullName_ = "";
          /**
           * <pre>
           * The full name of the variable/tensor, if applicable. Used to allow
           * name-based loading of checkpoints which were saved using an
           * object-based API. Should match the checkpoint key which would have been
           * assigned by tf.train.Saver.
           * </pre>
           *
           * <code>string full_name = 2;</code>
           */
          public java.lang.String getFullName() {
            java.lang.Object ref = fullName_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              fullName_ = s;
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <pre>
           * The full name of the variable/tensor, if applicable. Used to allow
           * name-based loading of checkpoints which were saved using an
           * object-based API. Should match the checkpoint key which would have been
           * assigned by tf.train.Saver.
           * </pre>
           *
           * <code>string full_name = 2;</code>
           */
          public com.google.protobuf.ByteString
              getFullNameBytes() {
            java.lang.Object ref = fullName_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              fullName_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * <pre>
           * The full name of the variable/tensor, if applicable. Used to allow
           * name-based loading of checkpoints which were saved using an
           * object-based API. Should match the checkpoint key which would have been
           * assigned by tf.train.Saver.
           * </pre>
           *
           * <code>string full_name = 2;</code>
           */
          public Builder setFullName(
              java.lang.String value) {
            if (value == null) {
    throw new NullPointerException();
  }
  
            fullName_ = value;
            onChanged();
            return this;
          }
          /**
           * <pre>
           * The full name of the variable/tensor, if applicable. Used to allow
           * name-based loading of checkpoints which were saved using an
           * object-based API. Should match the checkpoint key which would have been
           * assigned by tf.train.Saver.
           * </pre>
           *
           * <code>string full_name = 2;</code>
           */
          public Builder clearFullName() {
            
            fullName_ = getDefaultInstance().getFullName();
            onChanged();
            return this;
          }
          /**
           * <pre>
           * The full name of the variable/tensor, if applicable. Used to allow
           * name-based loading of checkpoints which were saved using an
           * object-based API. Should match the checkpoint key which would have been
           * assigned by tf.train.Saver.
           * </pre>
           *
           * <code>string full_name = 2;</code>
           */
          public Builder setFullNameBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
            
            fullName_ = value;
            onChanged();
            return this;
          }

          private java.lang.Object checkpointKey_ = "";
          /**
           * <pre>
           * The generated name of the Tensor in the checkpoint.
           * </pre>
           *
           * <code>string checkpoint_key = 3;</code>
           */
          public java.lang.String getCheckpointKey() {
            java.lang.Object ref = checkpointKey_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              checkpointKey_ = s;
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <pre>
           * The generated name of the Tensor in the checkpoint.
           * </pre>
           *
           * <code>string checkpoint_key = 3;</code>
           */
          public com.google.protobuf.ByteString
              getCheckpointKeyBytes() {
            java.lang.Object ref = checkpointKey_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              checkpointKey_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * <pre>
           * The generated name of the Tensor in the checkpoint.
           * </pre>
           *
           * <code>string checkpoint_key = 3;</code>
           */
          public Builder setCheckpointKey(
              java.lang.String value) {
            if (value == null) {
    throw new NullPointerException();
  }
  
            checkpointKey_ = value;
            onChanged();
            return this;
          }
          /**
           * <pre>
           * The generated name of the Tensor in the checkpoint.
           * </pre>
           *
           * <code>string checkpoint_key = 3;</code>
           */
          public Builder clearCheckpointKey() {
            
            checkpointKey_ = getDefaultInstance().getCheckpointKey();
            onChanged();
            return this;
          }
          /**
           * <pre>
           * The generated name of the Tensor in the checkpoint.
           * </pre>
           *
           * <code>string checkpoint_key = 3;</code>
           */
          public Builder setCheckpointKeyBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
            
            checkpointKey_ = value;
            onChanged();
            return this;
          }
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return this;
          }

          public final Builder mergeUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return this;
          }


          // @@protoc_insertion_point(builder_scope:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor)
        }

        // @@protoc_insertion_point(class_scope:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor)
        private static final tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor();
        }

        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser<SerializedTensor>
            PARSER = new com.google.protobuf.AbstractParser<SerializedTensor>() {
          public SerializedTensor parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
              return new SerializedTensor(input, extensionRegistry);
          }
        };

        public static com.google.protobuf.Parser<SerializedTensor> parser() {
          return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<SerializedTensor> getParserForType() {
          return PARSER;
        }

        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      public interface SlotVariableReferenceOrBuilder extends
          // @@protoc_insertion_point(interface_extends:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference)
          com.google.protobuf.MessageOrBuilder {

        /**
         * <pre>
         * An index into `CheckpointableObjectGraph.nodes`, indicating the
         * variable object this slot was created for.
         * </pre>
         *
         * <code>int32 original_variable_node_id = 1;</code>
         */
        int getOriginalVariableNodeId();

        /**
         * <pre>
         * The name of the slot (e.g. "m"/"v").
         * </pre>
         *
         * <code>string slot_name = 2;</code>
         */
        java.lang.String getSlotName();
        /**
         * <pre>
         * The name of the slot (e.g. "m"/"v").
         * </pre>
         *
         * <code>string slot_name = 2;</code>
         */
        com.google.protobuf.ByteString
            getSlotNameBytes();

        /**
         * <pre>
         * An index into `CheckpointableObjectGraph.nodes`, indicating the
         * `Object` with the value of the slot variable.
         * </pre>
         *
         * <code>int32 slot_variable_node_id = 3;</code>
         */
        int getSlotVariableNodeId();
      }
      /**
       * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference}
       */
      public  static final class SlotVariableReference extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference)
          SlotVariableReferenceOrBuilder {
        // Use SlotVariableReference.newBuilder() to construct.
        private SlotVariableReference(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private SlotVariableReference() {
          originalVariableNodeId_ = 0;
          slotName_ = "";
          slotVariableNodeId_ = 0;
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
        }
        private SlotVariableReference(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          int mutable_bitField0_ = 0;
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!input.skipField(tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {

                  originalVariableNodeId_ = input.readInt32();
                  break;
                }
                case 18: {
                  java.lang.String s = input.readStringRequireUtf8();

                  slotName_ = s;
                  break;
                }
                case 24: {

                  slotVariableNodeId_ = input.readInt32();
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder.class);
        }

        public static final int ORIGINAL_VARIABLE_NODE_ID_FIELD_NUMBER = 1;
        private int originalVariableNodeId_;
        /**
         * <pre>
         * An index into `CheckpointableObjectGraph.nodes`, indicating the
         * variable object this slot was created for.
         * </pre>
         *
         * <code>int32 original_variable_node_id = 1;</code>
         */
        public int getOriginalVariableNodeId() {
          return originalVariableNodeId_;
        }

        public static final int SLOT_NAME_FIELD_NUMBER = 2;
        private volatile java.lang.Object slotName_;
        /**
         * <pre>
         * The name of the slot (e.g. "m"/"v").
         * </pre>
         *
         * <code>string slot_name = 2;</code>
         */
        public java.lang.String getSlotName() {
          java.lang.Object ref = slotName_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            com.google.protobuf.ByteString bs = 
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            slotName_ = s;
            return s;
          }
        }
        /**
         * <pre>
         * The name of the slot (e.g. "m"/"v").
         * </pre>
         *
         * <code>string slot_name = 2;</code>
         */
        public com.google.protobuf.ByteString
            getSlotNameBytes() {
          java.lang.Object ref = slotName_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            slotName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        public static final int SLOT_VARIABLE_NODE_ID_FIELD_NUMBER = 3;
        private int slotVariableNodeId_;
        /**
         * <pre>
         * An index into `CheckpointableObjectGraph.nodes`, indicating the
         * `Object` with the value of the slot variable.
         * </pre>
         *
         * <code>int32 slot_variable_node_id = 3;</code>
         */
        public int getSlotVariableNodeId() {
          return slotVariableNodeId_;
        }

        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized == 1) return true;
          if (isInitialized == 0) return false;

          memoizedIsInitialized = 1;
          return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (originalVariableNodeId_ != 0) {
            output.writeInt32(1, originalVariableNodeId_);
          }
          if (!getSlotNameBytes().isEmpty()) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 2, slotName_);
          }
          if (slotVariableNodeId_ != 0) {
            output.writeInt32(3, slotVariableNodeId_);
          }
        }

        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;

          size = 0;
          if (originalVariableNodeId_ != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(1, originalVariableNodeId_);
          }
          if (!getSlotNameBytes().isEmpty()) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, slotName_);
          }
          if (slotVariableNodeId_ != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(3, slotVariableNodeId_);
          }
          memoizedSize = size;
          return size;
        }

        private static final long serialVersionUID = 0L;
        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference)) {
            return super.equals(obj);
          }
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference other = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference) obj;

          boolean result = true;
          result = result && (getOriginalVariableNodeId()
              == other.getOriginalVariableNodeId());
          result = result && getSlotName()
              .equals(other.getSlotName());
          result = result && (getSlotVariableNodeId()
              == other.getSlotVariableNodeId());
          return result;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          hash = (37 * hash) + ORIGINAL_VARIABLE_NODE_ID_FIELD_NUMBER;
          hash = (53 * hash) + getOriginalVariableNodeId();
          hash = (37 * hash) + SLOT_NAME_FIELD_NUMBER;
          hash = (53 * hash) + getSlotName().hashCode();
          hash = (37 * hash) + SLOT_VARIABLE_NODE_ID_FIELD_NUMBER;
          hash = (53 * hash) + getSlotVariableNodeId();
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference)
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_descriptor;
          }

          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder.class);
          }

          // Construct using tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
            }
          }
          public Builder clear() {
            super.clear();
            originalVariableNodeId_ = 0;

            slotName_ = "";

            slotVariableNodeId_ = 0;

            return this;
          }

          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_descriptor;
          }

          public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference getDefaultInstanceForType() {
            return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.getDefaultInstance();
          }

          public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference build() {
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference buildPartial() {
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference result = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference(this);
            result.originalVariableNodeId_ = originalVariableNodeId_;
            result.slotName_ = slotName_;
            result.slotVariableNodeId_ = slotVariableNodeId_;
            onBuilt();
            return result;
          }

          public Builder clone() {
            return (Builder) super.clone();
          }
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.setField(field, value);
          }
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return (Builder) super.clearField(field);
          }
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return (Builder) super.clearOneof(oneof);
          }
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, Object value) {
            return (Builder) super.setRepeatedField(field, index, value);
          }
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.addRepeatedField(field, value);
          }
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference) {
              return mergeFrom((tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference other) {
            if (other == tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.getDefaultInstance()) return this;
            if (other.getOriginalVariableNodeId() != 0) {
              setOriginalVariableNodeId(other.getOriginalVariableNodeId());
            }
            if (!other.getSlotName().isEmpty()) {
              slotName_ = other.slotName_;
              onChanged();
            }
            if (other.getSlotVariableNodeId() != 0) {
              setSlotVariableNodeId(other.getSlotVariableNodeId());
            }
            onChanged();
            return this;
          }

          public final boolean isInitialized() {
            return true;
          }

          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference) e.getUnfinishedMessage();
              throw e.unwrapIOException();
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }

          private int originalVariableNodeId_ ;
          /**
           * <pre>
           * An index into `CheckpointableObjectGraph.nodes`, indicating the
           * variable object this slot was created for.
           * </pre>
           *
           * <code>int32 original_variable_node_id = 1;</code>
           */
          public int getOriginalVariableNodeId() {
            return originalVariableNodeId_;
          }
          /**
           * <pre>
           * An index into `CheckpointableObjectGraph.nodes`, indicating the
           * variable object this slot was created for.
           * </pre>
           *
           * <code>int32 original_variable_node_id = 1;</code>
           */
          public Builder setOriginalVariableNodeId(int value) {
            
            originalVariableNodeId_ = value;
            onChanged();
            return this;
          }
          /**
           * <pre>
           * An index into `CheckpointableObjectGraph.nodes`, indicating the
           * variable object this slot was created for.
           * </pre>
           *
           * <code>int32 original_variable_node_id = 1;</code>
           */
          public Builder clearOriginalVariableNodeId() {
            
            originalVariableNodeId_ = 0;
            onChanged();
            return this;
          }

          private java.lang.Object slotName_ = "";
          /**
           * <pre>
           * The name of the slot (e.g. "m"/"v").
           * </pre>
           *
           * <code>string slot_name = 2;</code>
           */
          public java.lang.String getSlotName() {
            java.lang.Object ref = slotName_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              slotName_ = s;
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <pre>
           * The name of the slot (e.g. "m"/"v").
           * </pre>
           *
           * <code>string slot_name = 2;</code>
           */
          public com.google.protobuf.ByteString
              getSlotNameBytes() {
            java.lang.Object ref = slotName_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              slotName_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * <pre>
           * The name of the slot (e.g. "m"/"v").
           * </pre>
           *
           * <code>string slot_name = 2;</code>
           */
          public Builder setSlotName(
              java.lang.String value) {
            if (value == null) {
    throw new NullPointerException();
  }
  
            slotName_ = value;
            onChanged();
            return this;
          }
          /**
           * <pre>
           * The name of the slot (e.g. "m"/"v").
           * </pre>
           *
           * <code>string slot_name = 2;</code>
           */
          public Builder clearSlotName() {
            
            slotName_ = getDefaultInstance().getSlotName();
            onChanged();
            return this;
          }
          /**
           * <pre>
           * The name of the slot (e.g. "m"/"v").
           * </pre>
           *
           * <code>string slot_name = 2;</code>
           */
          public Builder setSlotNameBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
            
            slotName_ = value;
            onChanged();
            return this;
          }

          private int slotVariableNodeId_ ;
          /**
           * <pre>
           * An index into `CheckpointableObjectGraph.nodes`, indicating the
           * `Object` with the value of the slot variable.
           * </pre>
           *
           * <code>int32 slot_variable_node_id = 3;</code>
           */
          public int getSlotVariableNodeId() {
            return slotVariableNodeId_;
          }
          /**
           * <pre>
           * An index into `CheckpointableObjectGraph.nodes`, indicating the
           * `Object` with the value of the slot variable.
           * </pre>
           *
           * <code>int32 slot_variable_node_id = 3;</code>
           */
          public Builder setSlotVariableNodeId(int value) {
            
            slotVariableNodeId_ = value;
            onChanged();
            return this;
          }
          /**
           * <pre>
           * An index into `CheckpointableObjectGraph.nodes`, indicating the
           * `Object` with the value of the slot variable.
           * </pre>
           *
           * <code>int32 slot_variable_node_id = 3;</code>
           */
          public Builder clearSlotVariableNodeId() {
            
            slotVariableNodeId_ = 0;
            onChanged();
            return this;
          }
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return this;
          }

          public final Builder mergeUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return this;
          }


          // @@protoc_insertion_point(builder_scope:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference)
        }

        // @@protoc_insertion_point(class_scope:tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference)
        private static final tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference();
        }

        public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser<SlotVariableReference>
            PARSER = new com.google.protobuf.AbstractParser<SlotVariableReference>() {
          public SlotVariableReference parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
              return new SlotVariableReference(input, extensionRegistry);
          }
        };

        public static com.google.protobuf.Parser<SlotVariableReference> parser() {
          return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<SlotVariableReference> getParserForType() {
          return PARSER;
        }

        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      public static final int CHILDREN_FIELD_NUMBER = 1;
      private java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference> children_;
      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference> getChildrenList() {
        return children_;
      }
      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      public java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder> 
          getChildrenOrBuilderList() {
        return children_;
      }
      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      public int getChildrenCount() {
        return children_.size();
      }
      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference getChildren(int index) {
        return children_.get(index);
      }
      /**
       * <pre>
       * Objects which this object depends on.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder getChildrenOrBuilder(
          int index) {
        return children_.get(index);
      }

      public static final int ATTRIBUTES_FIELD_NUMBER = 2;
      private java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor> attributes_;
      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor> getAttributesList() {
        return attributes_;
      }
      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      public java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder> 
          getAttributesOrBuilderList() {
        return attributes_;
      }
      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      public int getAttributesCount() {
        return attributes_.size();
      }
      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor getAttributes(int index) {
        return attributes_.get(index);
      }
      /**
       * <pre>
       * Serialized data specific to this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder getAttributesOrBuilder(
          int index) {
        return attributes_.get(index);
      }

      public static final int SLOT_VARIABLES_FIELD_NUMBER = 3;
      private java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference> slotVariables_;
      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference> getSlotVariablesList() {
        return slotVariables_;
      }
      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      public java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder> 
          getSlotVariablesOrBuilderList() {
        return slotVariables_;
      }
      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      public int getSlotVariablesCount() {
        return slotVariables_.size();
      }
      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference getSlotVariables(int index) {
        return slotVariables_.get(index);
      }
      /**
       * <pre>
       * Slot variables owned by this object.
       * </pre>
       *
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder getSlotVariablesOrBuilder(
          int index) {
        return slotVariables_.get(index);
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < children_.size(); i++) {
          output.writeMessage(1, children_.get(i));
        }
        for (int i = 0; i < attributes_.size(); i++) {
          output.writeMessage(2, attributes_.get(i));
        }
        for (int i = 0; i < slotVariables_.size(); i++) {
          output.writeMessage(3, slotVariables_.get(i));
        }
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        for (int i = 0; i < children_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, children_.get(i));
        }
        for (int i = 0; i < attributes_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, attributes_.get(i));
        }
        for (int i = 0; i < slotVariables_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, slotVariables_.get(i));
        }
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object)) {
          return super.equals(obj);
        }
        tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object other = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object) obj;

        boolean result = true;
        result = result && getChildrenList()
            .equals(other.getChildrenList());
        result = result && getAttributesList()
            .equals(other.getAttributesList());
        result = result && getSlotVariablesList()
            .equals(other.getSlotVariablesList());
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getChildrenCount() > 0) {
          hash = (37 * hash) + CHILDREN_FIELD_NUMBER;
          hash = (53 * hash) + getChildrenList().hashCode();
        }
        if (getAttributesCount() > 0) {
          hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER;
          hash = (53 * hash) + getAttributesList().hashCode();
        }
        if (getSlotVariablesCount() > 0) {
          hash = (37 * hash) + SLOT_VARIABLES_FIELD_NUMBER;
          hash = (53 * hash) + getSlotVariablesList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph.Object}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:tensorflow.contrib.eager.CheckpointableObjectGraph.Object)
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder.class);
        }

        // Construct using tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getChildrenFieldBuilder();
            getAttributesFieldBuilder();
            getSlotVariablesFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          if (childrenBuilder_ == null) {
            children_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            childrenBuilder_.clear();
          }
          if (attributesBuilder_ == null) {
            attributes_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            attributesBuilder_.clear();
          }
          if (slotVariablesBuilder_ == null) {
            slotVariables_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            slotVariablesBuilder_.clear();
          }
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_descriptor;
        }

        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object getDefaultInstanceForType() {
          return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.getDefaultInstance();
        }

        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object build() {
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object buildPartial() {
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object result = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object(this);
          int from_bitField0_ = bitField0_;
          if (childrenBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              children_ = java.util.Collections.unmodifiableList(children_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.children_ = children_;
          } else {
            result.children_ = childrenBuilder_.build();
          }
          if (attributesBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              attributes_ = java.util.Collections.unmodifiableList(attributes_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.attributes_ = attributes_;
          } else {
            result.attributes_ = attributesBuilder_.build();
          }
          if (slotVariablesBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              slotVariables_ = java.util.Collections.unmodifiableList(slotVariables_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.slotVariables_ = slotVariables_;
          } else {
            result.slotVariables_ = slotVariablesBuilder_.build();
          }
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object) {
            return mergeFrom((tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object other) {
          if (other == tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.getDefaultInstance()) return this;
          if (childrenBuilder_ == null) {
            if (!other.children_.isEmpty()) {
              if (children_.isEmpty()) {
                children_ = other.children_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureChildrenIsMutable();
                children_.addAll(other.children_);
              }
              onChanged();
            }
          } else {
            if (!other.children_.isEmpty()) {
              if (childrenBuilder_.isEmpty()) {
                childrenBuilder_.dispose();
                childrenBuilder_ = null;
                children_ = other.children_;
                bitField0_ = (bitField0_ & ~0x00000001);
                childrenBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getChildrenFieldBuilder() : null;
              } else {
                childrenBuilder_.addAllMessages(other.children_);
              }
            }
          }
          if (attributesBuilder_ == null) {
            if (!other.attributes_.isEmpty()) {
              if (attributes_.isEmpty()) {
                attributes_ = other.attributes_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureAttributesIsMutable();
                attributes_.addAll(other.attributes_);
              }
              onChanged();
            }
          } else {
            if (!other.attributes_.isEmpty()) {
              if (attributesBuilder_.isEmpty()) {
                attributesBuilder_.dispose();
                attributesBuilder_ = null;
                attributes_ = other.attributes_;
                bitField0_ = (bitField0_ & ~0x00000002);
                attributesBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getAttributesFieldBuilder() : null;
              } else {
                attributesBuilder_.addAllMessages(other.attributes_);
              }
            }
          }
          if (slotVariablesBuilder_ == null) {
            if (!other.slotVariables_.isEmpty()) {
              if (slotVariables_.isEmpty()) {
                slotVariables_ = other.slotVariables_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureSlotVariablesIsMutable();
                slotVariables_.addAll(other.slotVariables_);
              }
              onChanged();
            }
          } else {
            if (!other.slotVariables_.isEmpty()) {
              if (slotVariablesBuilder_.isEmpty()) {
                slotVariablesBuilder_.dispose();
                slotVariablesBuilder_ = null;
                slotVariables_ = other.slotVariables_;
                bitField0_ = (bitField0_ & ~0x00000004);
                slotVariablesBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getSlotVariablesFieldBuilder() : null;
              } else {
                slotVariablesBuilder_.addAllMessages(other.slotVariables_);
              }
            }
          }
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference> children_ =
          java.util.Collections.emptyList();
        private void ensureChildrenIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            children_ = new java.util.ArrayList<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference>(children_);
            bitField0_ |= 0x00000001;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder> childrenBuilder_;

        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference> getChildrenList() {
          if (childrenBuilder_ == null) {
            return java.util.Collections.unmodifiableList(children_);
          } else {
            return childrenBuilder_.getMessageList();
          }
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public int getChildrenCount() {
          if (childrenBuilder_ == null) {
            return children_.size();
          } else {
            return childrenBuilder_.getCount();
          }
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference getChildren(int index) {
          if (childrenBuilder_ == null) {
            return children_.get(index);
          } else {
            return childrenBuilder_.getMessage(index);
          }
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public Builder setChildren(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference value) {
          if (childrenBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureChildrenIsMutable();
            children_.set(index, value);
            onChanged();
          } else {
            childrenBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public Builder setChildren(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder builderForValue) {
          if (childrenBuilder_ == null) {
            ensureChildrenIsMutable();
            children_.set(index, builderForValue.build());
            onChanged();
          } else {
            childrenBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public Builder addChildren(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference value) {
          if (childrenBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureChildrenIsMutable();
            children_.add(value);
            onChanged();
          } else {
            childrenBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public Builder addChildren(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference value) {
          if (childrenBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureChildrenIsMutable();
            children_.add(index, value);
            onChanged();
          } else {
            childrenBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public Builder addChildren(
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder builderForValue) {
          if (childrenBuilder_ == null) {
            ensureChildrenIsMutable();
            children_.add(builderForValue.build());
            onChanged();
          } else {
            childrenBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public Builder addChildren(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder builderForValue) {
          if (childrenBuilder_ == null) {
            ensureChildrenIsMutable();
            children_.add(index, builderForValue.build());
            onChanged();
          } else {
            childrenBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public Builder addAllChildren(
            java.lang.Iterable<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference> values) {
          if (childrenBuilder_ == null) {
            ensureChildrenIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, children_);
            onChanged();
          } else {
            childrenBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public Builder clearChildren() {
          if (childrenBuilder_ == null) {
            children_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            childrenBuilder_.clear();
          }
          return this;
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public Builder removeChildren(int index) {
          if (childrenBuilder_ == null) {
            ensureChildrenIsMutable();
            children_.remove(index);
            onChanged();
          } else {
            childrenBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder getChildrenBuilder(
            int index) {
          return getChildrenFieldBuilder().getBuilder(index);
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder getChildrenOrBuilder(
            int index) {
          if (childrenBuilder_ == null) {
            return children_.get(index);  } else {
            return childrenBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder> 
             getChildrenOrBuilderList() {
          if (childrenBuilder_ != null) {
            return childrenBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(children_);
          }
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder addChildrenBuilder() {
          return getChildrenFieldBuilder().addBuilder(
              tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.getDefaultInstance());
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder addChildrenBuilder(
            int index) {
          return getChildrenFieldBuilder().addBuilder(
              index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.getDefaultInstance());
        }
        /**
         * <pre>
         * Objects which this object depends on.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.ObjectReference children = 1;</code>
         */
        public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder> 
             getChildrenBuilderList() {
          return getChildrenFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder> 
            getChildrenFieldBuilder() {
          if (childrenBuilder_ == null) {
            childrenBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReference.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.ObjectReferenceOrBuilder>(
                    children_,
                    ((bitField0_ & 0x00000001) == 0x00000001),
                    getParentForChildren(),
                    isClean());
            children_ = null;
          }
          return childrenBuilder_;
        }

        private java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor> attributes_ =
          java.util.Collections.emptyList();
        private void ensureAttributesIsMutable() {
          if (!((bitField0_ & 0x00000002) == 0x00000002)) {
            attributes_ = new java.util.ArrayList<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor>(attributes_);
            bitField0_ |= 0x00000002;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder> attributesBuilder_;

        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor> getAttributesList() {
          if (attributesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(attributes_);
          } else {
            return attributesBuilder_.getMessageList();
          }
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public int getAttributesCount() {
          if (attributesBuilder_ == null) {
            return attributes_.size();
          } else {
            return attributesBuilder_.getCount();
          }
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor getAttributes(int index) {
          if (attributesBuilder_ == null) {
            return attributes_.get(index);
          } else {
            return attributesBuilder_.getMessage(index);
          }
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public Builder setAttributes(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor value) {
          if (attributesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureAttributesIsMutable();
            attributes_.set(index, value);
            onChanged();
          } else {
            attributesBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public Builder setAttributes(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder builderForValue) {
          if (attributesBuilder_ == null) {
            ensureAttributesIsMutable();
            attributes_.set(index, builderForValue.build());
            onChanged();
          } else {
            attributesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public Builder addAttributes(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor value) {
          if (attributesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureAttributesIsMutable();
            attributes_.add(value);
            onChanged();
          } else {
            attributesBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public Builder addAttributes(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor value) {
          if (attributesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureAttributesIsMutable();
            attributes_.add(index, value);
            onChanged();
          } else {
            attributesBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public Builder addAttributes(
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder builderForValue) {
          if (attributesBuilder_ == null) {
            ensureAttributesIsMutable();
            attributes_.add(builderForValue.build());
            onChanged();
          } else {
            attributesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public Builder addAttributes(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder builderForValue) {
          if (attributesBuilder_ == null) {
            ensureAttributesIsMutable();
            attributes_.add(index, builderForValue.build());
            onChanged();
          } else {
            attributesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public Builder addAllAttributes(
            java.lang.Iterable<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor> values) {
          if (attributesBuilder_ == null) {
            ensureAttributesIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, attributes_);
            onChanged();
          } else {
            attributesBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public Builder clearAttributes() {
          if (attributesBuilder_ == null) {
            attributes_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            attributesBuilder_.clear();
          }
          return this;
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public Builder removeAttributes(int index) {
          if (attributesBuilder_ == null) {
            ensureAttributesIsMutable();
            attributes_.remove(index);
            onChanged();
          } else {
            attributesBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder getAttributesBuilder(
            int index) {
          return getAttributesFieldBuilder().getBuilder(index);
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder getAttributesOrBuilder(
            int index) {
          if (attributesBuilder_ == null) {
            return attributes_.get(index);  } else {
            return attributesBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder> 
             getAttributesOrBuilderList() {
          if (attributesBuilder_ != null) {
            return attributesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(attributes_);
          }
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder addAttributesBuilder() {
          return getAttributesFieldBuilder().addBuilder(
              tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.getDefaultInstance());
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder addAttributesBuilder(
            int index) {
          return getAttributesFieldBuilder().addBuilder(
              index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.getDefaultInstance());
        }
        /**
         * <pre>
         * Serialized data specific to this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SerializedTensor attributes = 2;</code>
         */
        public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder> 
             getAttributesBuilderList() {
          return getAttributesFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder> 
            getAttributesFieldBuilder() {
          if (attributesBuilder_ == null) {
            attributesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensor.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SerializedTensorOrBuilder>(
                    attributes_,
                    ((bitField0_ & 0x00000002) == 0x00000002),
                    getParentForChildren(),
                    isClean());
            attributes_ = null;
          }
          return attributesBuilder_;
        }

        private java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference> slotVariables_ =
          java.util.Collections.emptyList();
        private void ensureSlotVariablesIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            slotVariables_ = new java.util.ArrayList<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference>(slotVariables_);
            bitField0_ |= 0x00000004;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder> slotVariablesBuilder_;

        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference> getSlotVariablesList() {
          if (slotVariablesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(slotVariables_);
          } else {
            return slotVariablesBuilder_.getMessageList();
          }
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public int getSlotVariablesCount() {
          if (slotVariablesBuilder_ == null) {
            return slotVariables_.size();
          } else {
            return slotVariablesBuilder_.getCount();
          }
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference getSlotVariables(int index) {
          if (slotVariablesBuilder_ == null) {
            return slotVariables_.get(index);
          } else {
            return slotVariablesBuilder_.getMessage(index);
          }
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public Builder setSlotVariables(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference value) {
          if (slotVariablesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureSlotVariablesIsMutable();
            slotVariables_.set(index, value);
            onChanged();
          } else {
            slotVariablesBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public Builder setSlotVariables(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder builderForValue) {
          if (slotVariablesBuilder_ == null) {
            ensureSlotVariablesIsMutable();
            slotVariables_.set(index, builderForValue.build());
            onChanged();
          } else {
            slotVariablesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public Builder addSlotVariables(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference value) {
          if (slotVariablesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureSlotVariablesIsMutable();
            slotVariables_.add(value);
            onChanged();
          } else {
            slotVariablesBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public Builder addSlotVariables(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference value) {
          if (slotVariablesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureSlotVariablesIsMutable();
            slotVariables_.add(index, value);
            onChanged();
          } else {
            slotVariablesBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public Builder addSlotVariables(
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder builderForValue) {
          if (slotVariablesBuilder_ == null) {
            ensureSlotVariablesIsMutable();
            slotVariables_.add(builderForValue.build());
            onChanged();
          } else {
            slotVariablesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public Builder addSlotVariables(
            int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder builderForValue) {
          if (slotVariablesBuilder_ == null) {
            ensureSlotVariablesIsMutable();
            slotVariables_.add(index, builderForValue.build());
            onChanged();
          } else {
            slotVariablesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public Builder addAllSlotVariables(
            java.lang.Iterable<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference> values) {
          if (slotVariablesBuilder_ == null) {
            ensureSlotVariablesIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, slotVariables_);
            onChanged();
          } else {
            slotVariablesBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public Builder clearSlotVariables() {
          if (slotVariablesBuilder_ == null) {
            slotVariables_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            slotVariablesBuilder_.clear();
          }
          return this;
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public Builder removeSlotVariables(int index) {
          if (slotVariablesBuilder_ == null) {
            ensureSlotVariablesIsMutable();
            slotVariables_.remove(index);
            onChanged();
          } else {
            slotVariablesBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder getSlotVariablesBuilder(
            int index) {
          return getSlotVariablesFieldBuilder().getBuilder(index);
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder getSlotVariablesOrBuilder(
            int index) {
          if (slotVariablesBuilder_ == null) {
            return slotVariables_.get(index);  } else {
            return slotVariablesBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder> 
             getSlotVariablesOrBuilderList() {
          if (slotVariablesBuilder_ != null) {
            return slotVariablesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(slotVariables_);
          }
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder addSlotVariablesBuilder() {
          return getSlotVariablesFieldBuilder().addBuilder(
              tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.getDefaultInstance());
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder addSlotVariablesBuilder(
            int index) {
          return getSlotVariablesFieldBuilder().addBuilder(
              index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.getDefaultInstance());
        }
        /**
         * <pre>
         * Slot variables owned by this object.
         * </pre>
         *
         * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object.SlotVariableReference slot_variables = 3;</code>
         */
        public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder> 
             getSlotVariablesBuilderList() {
          return getSlotVariablesFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder> 
            getSlotVariablesFieldBuilder() {
          if (slotVariablesBuilder_ == null) {
            slotVariablesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReference.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.SlotVariableReferenceOrBuilder>(
                    slotVariables_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            slotVariables_ = null;
          }
          return slotVariablesBuilder_;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return this;
        }

        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return this;
        }


        // @@protoc_insertion_point(builder_scope:tensorflow.contrib.eager.CheckpointableObjectGraph.Object)
      }

      // @@protoc_insertion_point(class_scope:tensorflow.contrib.eager.CheckpointableObjectGraph.Object)
      private static final tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object();
      }

      public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<Object>
          PARSER = new com.google.protobuf.AbstractParser<Object>() {
        public Object parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new Object(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser<Object> parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser<Object> getParserForType() {
        return PARSER;
      }

      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int NODES_FIELD_NUMBER = 1;
    private java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object> nodes_;
    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object> getNodesList() {
      return nodes_;
    }
    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    public java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder> 
        getNodesOrBuilderList() {
      return nodes_;
    }
    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    public int getNodesCount() {
      return nodes_.size();
    }
    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object getNodes(int index) {
      return nodes_.get(index);
    }
    /**
     * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
     */
    public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder getNodesOrBuilder(
        int index) {
      return nodes_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < nodes_.size(); i++) {
        output.writeMessage(1, nodes_.get(i));
      }
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < nodes_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, nodes_.get(i));
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph)) {
        return super.equals(obj);
      }
      tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph other = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph) obj;

      boolean result = true;
      result = result && getNodesList()
          .equals(other.getNodesList());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getNodesCount() > 0) {
        hash = (37 * hash) + NODES_FIELD_NUMBER;
        hash = (53 * hash) + getNodesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code tensorflow.contrib.eager.CheckpointableObjectGraph}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:tensorflow.contrib.eager.CheckpointableObjectGraph)
        tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraphOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.class, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Builder.class);
      }

      // Construct using tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getNodesFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (nodesBuilder_ == null) {
          nodes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          nodesBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_descriptor;
      }

      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph getDefaultInstanceForType() {
        return tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.getDefaultInstance();
      }

      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph build() {
        tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph buildPartial() {
        tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph result = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph(this);
        int from_bitField0_ = bitField0_;
        if (nodesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            nodes_ = java.util.Collections.unmodifiableList(nodes_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.nodes_ = nodes_;
        } else {
          result.nodes_ = nodesBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph) {
          return mergeFrom((tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph other) {
        if (other == tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.getDefaultInstance()) return this;
        if (nodesBuilder_ == null) {
          if (!other.nodes_.isEmpty()) {
            if (nodes_.isEmpty()) {
              nodes_ = other.nodes_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureNodesIsMutable();
              nodes_.addAll(other.nodes_);
            }
            onChanged();
          }
        } else {
          if (!other.nodes_.isEmpty()) {
            if (nodesBuilder_.isEmpty()) {
              nodesBuilder_.dispose();
              nodesBuilder_ = null;
              nodes_ = other.nodes_;
              bitField0_ = (bitField0_ & ~0x00000001);
              nodesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getNodesFieldBuilder() : null;
            } else {
              nodesBuilder_.addAllMessages(other.nodes_);
            }
          }
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object> nodes_ =
        java.util.Collections.emptyList();
      private void ensureNodesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          nodes_ = new java.util.ArrayList<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object>(nodes_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder> nodesBuilder_;

      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object> getNodesList() {
        if (nodesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(nodes_);
        } else {
          return nodesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public int getNodesCount() {
        if (nodesBuilder_ == null) {
          return nodes_.size();
        } else {
          return nodesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object getNodes(int index) {
        if (nodesBuilder_ == null) {
          return nodes_.get(index);
        } else {
          return nodesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public Builder setNodes(
          int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.set(index, value);
          onChanged();
        } else {
          nodesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public Builder setNodes(
          int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.set(index, builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public Builder addNodes(tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.add(value);
          onChanged();
        } else {
          nodesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public Builder addNodes(
          int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.add(index, value);
          onChanged();
        } else {
          nodesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public Builder addNodes(
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.add(builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public Builder addNodes(
          int index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.add(index, builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public Builder addAllNodes(
          java.lang.Iterable<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object> values) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, nodes_);
          onChanged();
        } else {
          nodesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public Builder clearNodes() {
        if (nodesBuilder_ == null) {
          nodes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          nodesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public Builder removeNodes(int index) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.remove(index);
          onChanged();
        } else {
          nodesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder getNodesBuilder(
          int index) {
        return getNodesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder getNodesOrBuilder(
          int index) {
        if (nodesBuilder_ == null) {
          return nodes_.get(index);  } else {
          return nodesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public java.util.List<? extends tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder> 
           getNodesOrBuilderList() {
        if (nodesBuilder_ != null) {
          return nodesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(nodes_);
        }
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder addNodesBuilder() {
        return getNodesFieldBuilder().addBuilder(
            tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.getDefaultInstance());
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder addNodesBuilder(
          int index) {
        return getNodesFieldBuilder().addBuilder(
            index, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.getDefaultInstance());
      }
      /**
       * <code>repeated .tensorflow.contrib.eager.CheckpointableObjectGraph.Object nodes = 1;</code>
       */
      public java.util.List<tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder> 
           getNodesBuilderList() {
        return getNodesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder> 
          getNodesFieldBuilder() {
        if (nodesBuilder_ == null) {
          nodesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.Object.Builder, tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph.ObjectOrBuilder>(
                  nodes_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          nodes_ = null;
        }
        return nodesBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:tensorflow.contrib.eager.CheckpointableObjectGraph)
    }

    // @@protoc_insertion_point(class_scope:tensorflow.contrib.eager.CheckpointableObjectGraph)
    private static final tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph();
    }

    public static tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CheckpointableObjectGraph>
        PARSER = new com.google.protobuf.AbstractParser<CheckpointableObjectGraph>() {
      public CheckpointableObjectGraph parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new CheckpointableObjectGraph(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CheckpointableObjectGraph> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CheckpointableObjectGraph> getParserForType() {
      return PARSER;
    }

    public tensorflow.contrib.eager.CheckpointableObjectGraphOuterClass.CheckpointableObjectGraph getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n@tensorflow/contrib/eager/proto/checkpo" +
      "intable_object_graph.proto\022\030tensorflow.c" +
      "ontrib.eager\"\215\005\n\031CheckpointableObjectGra" +
      "ph\022I\n\005nodes\030\001 \003(\0132:.tensorflow.contrib.e" +
      "ager.CheckpointableObjectGraph.Object\032\244\004" +
      "\n\006Object\022\\\n\010children\030\001 \003(\0132J.tensorflow." +
      "contrib.eager.CheckpointableObjectGraph." +
      "Object.ObjectReference\022_\n\nattributes\030\002 \003" +
      "(\0132K.tensorflow.contrib.eager.Checkpoint" +
      "ableObjectGraph.Object.SerializedTensor\022",
      "h\n\016slot_variables\030\003 \003(\0132P.tensorflow.con" +
      "trib.eager.CheckpointableObjectGraph.Obj" +
      "ect.SlotVariableReference\0326\n\017ObjectRefer" +
      "ence\022\017\n\007node_id\030\001 \001(\005\022\022\n\nlocal_name\030\002 \001(" +
      "\t\032K\n\020SerializedTensor\022\014\n\004name\030\001 \001(\t\022\021\n\tf" +
      "ull_name\030\002 \001(\t\022\026\n\016checkpoint_key\030\003 \001(\t\032l" +
      "\n\025SlotVariableReference\022!\n\031original_vari" +
      "able_node_id\030\001 \001(\005\022\021\n\tslot_name\030\002 \001(\t\022\035\n" +
      "\025slot_variable_node_id\030\003 \001(\005B\003\370\001\001b\006proto" +
      "3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_descriptor,
        new java.lang.String[] { "Nodes", });
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_descriptor =
      internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_descriptor.getNestedTypes().get(0);
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_descriptor,
        new java.lang.String[] { "Children", "Attributes", "SlotVariables", });
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_descriptor =
      internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_descriptor.getNestedTypes().get(0);
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_ObjectReference_descriptor,
        new java.lang.String[] { "NodeId", "LocalName", });
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_descriptor =
      internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_descriptor.getNestedTypes().get(1);
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SerializedTensor_descriptor,
        new java.lang.String[] { "Name", "FullName", "CheckpointKey", });
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_descriptor =
      internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_descriptor.getNestedTypes().get(2);
    internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_tensorflow_contrib_eager_CheckpointableObjectGraph_Object_SlotVariableReference_descriptor,
        new java.lang.String[] { "OriginalVariableNodeId", "SlotName", "SlotVariableNodeId", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
