gt:         Visitor visitor = (Visitor) arg0;
context: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: google/protobuf/wrappers.proto
  
  package com.google.protobuf;
  
  /**
   * <pre>
   * Wrapper message for `int32`.
   * The JSON representation for `Int32Value` is JSON number.
   * </pre>
   *
   * Protobuf type {@code google.protobuf.Int32Value}
   */
  public  final class Int32Value extends
      com.google.protobuf.GeneratedMessageLite<
          Int32Value, Int32Value.Builder> implements
      // @@protoc_insertion_point(message_implements:google.protobuf.Int32Value)
      Int32ValueOrBuilder {
    private Int32Value() {
    }
    public static final int VALUE_FIELD_NUMBER = 1;
    private int value_;
    /**
     * <pre>
     * The int32 value.
     * </pre>
     *
     * <code>optional int32 value = 1;</code>
     */
    public int getValue() {
      return value_;
    }
    /**
     * <pre>
     * The int32 value.
     * </pre>
     *
     * <code>optional int32 value = 1;</code>
     */
    private void setValue(int value) {
      
      value_ = value;
    }
    /**
     * <pre>
     * The int32 value.
     * </pre>
     *
     * <code>optional int32 value = 1;</code>
     */
    private void clearValue() {
      
      value_ = 0;
    }
  
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (value_ != 0) {
        output.writeInt32(1, value_);
      }
    }
  
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
  
      size = 0;
      if (value_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, value_);
      }
      memoizedSerializedSize = size;
      return size;
    }
  
    public static com.google.protobuf.Int32Value parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.protobuf.Int32Value parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.protobuf.Int32Value parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.protobuf.Int32Value parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.protobuf.Int32Value parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.protobuf.Int32Value parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.protobuf.Int32Value parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static com.google.protobuf.Int32Value parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.protobuf.Int32Value parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.protobuf.Int32Value parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
  
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.google.protobuf.Int32Value prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
  
    /**
     * <pre>
     * Wrapper message for `int32`.
     * The JSON representation for `Int32Value` is JSON number.
     * </pre>
     *
     * Protobuf type {@code google.protobuf.Int32Value}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          com.google.protobuf.Int32Value, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.protobuf.Int32Value)
        com.google.protobuf.Int32ValueOrBuilder {
      // Construct using com.google.protobuf.Int32Value.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }
  
  
      /**
       * <pre>
       * The int32 value.
       * </pre>
       *
       * <code>optional int32 value = 1;</code>
       */
      public int getValue() {
        return instance.getValue();
      }
      /**
       * <pre>
       * The int32 value.
       * </pre>
       *
       * <code>optional int32 value = 1;</code>
       */
      public Builder setValue(int value) {
        copyOnWrite();
        instance.setValue(value);
        return this;
      }
      /**
       * <pre>
       * The int32 value.
       * </pre>
       *
       * <code>optional int32 value = 1;</code>
       */
      public Builder clearValue() {
        copyOnWrite();
        instance.clearValue();
        return this;
      }
  
      // @@protoc_insertion_point(builder_scope:google.protobuf.Int32Value)
    }
    protected final Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        Object arg0, Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new com.google.protobuf.Int32Value();
        }
        case IS_INITIALIZED: {
          return DEFAULT_INSTANCE;
        }
        case MAKE_IMMUTABLE: {
          return null;
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case VISIT: {
  