This project has retired. For details please refer to its Attic page.
Source code
001// Generated by the protocol buffer compiler.  DO NOT EDIT!
002// source: injection_plan.proto
003
004package org.apache.reef.tang.proto;
005
006public final class InjectionPlanProto {
007  private InjectionPlanProto() {}
008  public static void registerAllExtensions(
009      com.google.protobuf.ExtensionRegistry registry) {
010  }
011  public interface InjectionPlanOrBuilder
012      extends com.google.protobuf.MessageOrBuilder {
013
014    // required string name = 1;
015    /**
016     * <code>required string name = 1;</code>
017     */
018    boolean hasName();
019    /**
020     * <code>required string name = 1;</code>
021     */
022    java.lang.String getName();
023    /**
024     * <code>required string name = 1;</code>
025     */
026    com.google.protobuf.ByteString
027        getNameBytes();
028
029    // optional .Constructor constructor = 2;
030    /**
031     * <code>optional .Constructor constructor = 2;</code>
032     */
033    boolean hasConstructor();
034    /**
035     * <code>optional .Constructor constructor = 2;</code>
036     */
037    org.apache.reef.tang.proto.InjectionPlanProto.Constructor getConstructor();
038    /**
039     * <code>optional .Constructor constructor = 2;</code>
040     */
041    org.apache.reef.tang.proto.InjectionPlanProto.ConstructorOrBuilder getConstructorOrBuilder();
042
043    // optional .Instance instance = 3;
044    /**
045     * <code>optional .Instance instance = 3;</code>
046     */
047    boolean hasInstance();
048    /**
049     * <code>optional .Instance instance = 3;</code>
050     */
051    org.apache.reef.tang.proto.InjectionPlanProto.Instance getInstance();
052    /**
053     * <code>optional .Instance instance = 3;</code>
054     */
055    org.apache.reef.tang.proto.InjectionPlanProto.InstanceOrBuilder getInstanceOrBuilder();
056
057    // optional .Subplan subplan = 4;
058    /**
059     * <code>optional .Subplan subplan = 4;</code>
060     */
061    boolean hasSubplan();
062    /**
063     * <code>optional .Subplan subplan = 4;</code>
064     */
065    org.apache.reef.tang.proto.InjectionPlanProto.Subplan getSubplan();
066    /**
067     * <code>optional .Subplan subplan = 4;</code>
068     */
069    org.apache.reef.tang.proto.InjectionPlanProto.SubplanOrBuilder getSubplanOrBuilder();
070  }
071  /**
072   * Protobuf type {@code InjectionPlan}
073   */
074  public static final class InjectionPlan extends
075      com.google.protobuf.GeneratedMessage
076      implements InjectionPlanOrBuilder {
077    // Use InjectionPlan.newBuilder() to construct.
078    private InjectionPlan(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
079      super(builder);
080      this.unknownFields = builder.getUnknownFields();
081    }
082    private InjectionPlan(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
083
084    private static final InjectionPlan defaultInstance;
085    public static InjectionPlan getDefaultInstance() {
086      return defaultInstance;
087    }
088
089    public InjectionPlan getDefaultInstanceForType() {
090      return defaultInstance;
091    }
092
093    private final com.google.protobuf.UnknownFieldSet unknownFields;
094    @java.lang.Override
095    public final com.google.protobuf.UnknownFieldSet
096        getUnknownFields() {
097      return this.unknownFields;
098    }
099    private InjectionPlan(
100        com.google.protobuf.CodedInputStream input,
101        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
102        throws com.google.protobuf.InvalidProtocolBufferException {
103      initFields();
104      int mutable_bitField0_ = 0;
105      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
106          com.google.protobuf.UnknownFieldSet.newBuilder();
107      try {
108        boolean done = false;
109        while (!done) {
110          int tag = input.readTag();
111          switch (tag) {
112            case 0:
113              done = true;
114              break;
115            default: {
116              if (!parseUnknownField(input, unknownFields,
117                                     extensionRegistry, tag)) {
118                done = true;
119              }
120              break;
121            }
122            case 10: {
123              bitField0_ |= 0x00000001;
124              name_ = input.readBytes();
125              break;
126            }
127            case 18: {
128              org.apache.reef.tang.proto.InjectionPlanProto.Constructor.Builder subBuilder = null;
129              if (((bitField0_ & 0x00000002) == 0x00000002)) {
130                subBuilder = constructor_.toBuilder();
131              }
132              constructor_ = input.readMessage(org.apache.reef.tang.proto.InjectionPlanProto.Constructor.PARSER, extensionRegistry);
133              if (subBuilder != null) {
134                subBuilder.mergeFrom(constructor_);
135                constructor_ = subBuilder.buildPartial();
136              }
137              bitField0_ |= 0x00000002;
138              break;
139            }
140            case 26: {
141              org.apache.reef.tang.proto.InjectionPlanProto.Instance.Builder subBuilder = null;
142              if (((bitField0_ & 0x00000004) == 0x00000004)) {
143                subBuilder = instance_.toBuilder();
144              }
145              instance_ = input.readMessage(org.apache.reef.tang.proto.InjectionPlanProto.Instance.PARSER, extensionRegistry);
146              if (subBuilder != null) {
147                subBuilder.mergeFrom(instance_);
148                instance_ = subBuilder.buildPartial();
149              }
150              bitField0_ |= 0x00000004;
151              break;
152            }
153            case 34: {
154              org.apache.reef.tang.proto.InjectionPlanProto.Subplan.Builder subBuilder = null;
155              if (((bitField0_ & 0x00000008) == 0x00000008)) {
156                subBuilder = subplan_.toBuilder();
157              }
158              subplan_ = input.readMessage(org.apache.reef.tang.proto.InjectionPlanProto.Subplan.PARSER, extensionRegistry);
159              if (subBuilder != null) {
160                subBuilder.mergeFrom(subplan_);
161                subplan_ = subBuilder.buildPartial();
162              }
163              bitField0_ |= 0x00000008;
164              break;
165            }
166          }
167        }
168      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
169        throw e.setUnfinishedMessage(this);
170      } catch (java.io.IOException e) {
171        throw new com.google.protobuf.InvalidProtocolBufferException(
172            e.getMessage()).setUnfinishedMessage(this);
173      } finally {
174        this.unknownFields = unknownFields.build();
175        makeExtensionsImmutable();
176      }
177    }
178    public static final com.google.protobuf.Descriptors.Descriptor
179        getDescriptor() {
180      return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_InjectionPlan_descriptor;
181    }
182
183    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
184        internalGetFieldAccessorTable() {
185      return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_InjectionPlan_fieldAccessorTable
186          .ensureFieldAccessorsInitialized(
187              org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.class, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder.class);
188    }
189
190    public static com.google.protobuf.Parser<InjectionPlan> PARSER =
191        new com.google.protobuf.AbstractParser<InjectionPlan>() {
192      public InjectionPlan parsePartialFrom(
193          com.google.protobuf.CodedInputStream input,
194          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
195          throws com.google.protobuf.InvalidProtocolBufferException {
196        return new InjectionPlan(input, extensionRegistry);
197      }
198    };
199
200    @java.lang.Override
201    public com.google.protobuf.Parser<InjectionPlan> getParserForType() {
202      return PARSER;
203    }
204
205    private int bitField0_;
206    // required string name = 1;
207    public static final int NAME_FIELD_NUMBER = 1;
208    private java.lang.Object name_;
209    /**
210     * <code>required string name = 1;</code>
211     */
212    public boolean hasName() {
213      return ((bitField0_ & 0x00000001) == 0x00000001);
214    }
215    /**
216     * <code>required string name = 1;</code>
217     */
218    public java.lang.String getName() {
219      java.lang.Object ref = name_;
220      if (ref instanceof java.lang.String) {
221        return (java.lang.String) ref;
222      } else {
223        com.google.protobuf.ByteString bs = 
224            (com.google.protobuf.ByteString) ref;
225        java.lang.String s = bs.toStringUtf8();
226        if (bs.isValidUtf8()) {
227          name_ = s;
228        }
229        return s;
230      }
231    }
232    /**
233     * <code>required string name = 1;</code>
234     */
235    public com.google.protobuf.ByteString
236        getNameBytes() {
237      java.lang.Object ref = name_;
238      if (ref instanceof java.lang.String) {
239        com.google.protobuf.ByteString b = 
240            com.google.protobuf.ByteString.copyFromUtf8(
241                (java.lang.String) ref);
242        name_ = b;
243        return b;
244      } else {
245        return (com.google.protobuf.ByteString) ref;
246      }
247    }
248
249    // optional .Constructor constructor = 2;
250    public static final int CONSTRUCTOR_FIELD_NUMBER = 2;
251    private org.apache.reef.tang.proto.InjectionPlanProto.Constructor constructor_;
252    /**
253     * <code>optional .Constructor constructor = 2;</code>
254     */
255    public boolean hasConstructor() {
256      return ((bitField0_ & 0x00000002) == 0x00000002);
257    }
258    /**
259     * <code>optional .Constructor constructor = 2;</code>
260     */
261    public org.apache.reef.tang.proto.InjectionPlanProto.Constructor getConstructor() {
262      return constructor_;
263    }
264    /**
265     * <code>optional .Constructor constructor = 2;</code>
266     */
267    public org.apache.reef.tang.proto.InjectionPlanProto.ConstructorOrBuilder getConstructorOrBuilder() {
268      return constructor_;
269    }
270
271    // optional .Instance instance = 3;
272    public static final int INSTANCE_FIELD_NUMBER = 3;
273    private org.apache.reef.tang.proto.InjectionPlanProto.Instance instance_;
274    /**
275     * <code>optional .Instance instance = 3;</code>
276     */
277    public boolean hasInstance() {
278      return ((bitField0_ & 0x00000004) == 0x00000004);
279    }
280    /**
281     * <code>optional .Instance instance = 3;</code>
282     */
283    public org.apache.reef.tang.proto.InjectionPlanProto.Instance getInstance() {
284      return instance_;
285    }
286    /**
287     * <code>optional .Instance instance = 3;</code>
288     */
289    public org.apache.reef.tang.proto.InjectionPlanProto.InstanceOrBuilder getInstanceOrBuilder() {
290      return instance_;
291    }
292
293    // optional .Subplan subplan = 4;
294    public static final int SUBPLAN_FIELD_NUMBER = 4;
295    private org.apache.reef.tang.proto.InjectionPlanProto.Subplan subplan_;
296    /**
297     * <code>optional .Subplan subplan = 4;</code>
298     */
299    public boolean hasSubplan() {
300      return ((bitField0_ & 0x00000008) == 0x00000008);
301    }
302    /**
303     * <code>optional .Subplan subplan = 4;</code>
304     */
305    public org.apache.reef.tang.proto.InjectionPlanProto.Subplan getSubplan() {
306      return subplan_;
307    }
308    /**
309     * <code>optional .Subplan subplan = 4;</code>
310     */
311    public org.apache.reef.tang.proto.InjectionPlanProto.SubplanOrBuilder getSubplanOrBuilder() {
312      return subplan_;
313    }
314
315    private void initFields() {
316      name_ = "";
317      constructor_ = org.apache.reef.tang.proto.InjectionPlanProto.Constructor.getDefaultInstance();
318      instance_ = org.apache.reef.tang.proto.InjectionPlanProto.Instance.getDefaultInstance();
319      subplan_ = org.apache.reef.tang.proto.InjectionPlanProto.Subplan.getDefaultInstance();
320    }
321    private byte memoizedIsInitialized = -1;
322    public final boolean isInitialized() {
323      byte isInitialized = memoizedIsInitialized;
324      if (isInitialized != -1) return isInitialized == 1;
325
326      if (!hasName()) {
327        memoizedIsInitialized = 0;
328        return false;
329      }
330      if (hasConstructor()) {
331        if (!getConstructor().isInitialized()) {
332          memoizedIsInitialized = 0;
333          return false;
334        }
335      }
336      if (hasInstance()) {
337        if (!getInstance().isInitialized()) {
338          memoizedIsInitialized = 0;
339          return false;
340        }
341      }
342      if (hasSubplan()) {
343        if (!getSubplan().isInitialized()) {
344          memoizedIsInitialized = 0;
345          return false;
346        }
347      }
348      memoizedIsInitialized = 1;
349      return true;
350    }
351
352    public void writeTo(com.google.protobuf.CodedOutputStream output)
353                        throws java.io.IOException {
354      getSerializedSize();
355      if (((bitField0_ & 0x00000001) == 0x00000001)) {
356        output.writeBytes(1, getNameBytes());
357      }
358      if (((bitField0_ & 0x00000002) == 0x00000002)) {
359        output.writeMessage(2, constructor_);
360      }
361      if (((bitField0_ & 0x00000004) == 0x00000004)) {
362        output.writeMessage(3, instance_);
363      }
364      if (((bitField0_ & 0x00000008) == 0x00000008)) {
365        output.writeMessage(4, subplan_);
366      }
367      getUnknownFields().writeTo(output);
368    }
369
370    private int memoizedSerializedSize = -1;
371    public int getSerializedSize() {
372      int size = memoizedSerializedSize;
373      if (size != -1) return size;
374
375      size = 0;
376      if (((bitField0_ & 0x00000001) == 0x00000001)) {
377        size += com.google.protobuf.CodedOutputStream
378          .computeBytesSize(1, getNameBytes());
379      }
380      if (((bitField0_ & 0x00000002) == 0x00000002)) {
381        size += com.google.protobuf.CodedOutputStream
382          .computeMessageSize(2, constructor_);
383      }
384      if (((bitField0_ & 0x00000004) == 0x00000004)) {
385        size += com.google.protobuf.CodedOutputStream
386          .computeMessageSize(3, instance_);
387      }
388      if (((bitField0_ & 0x00000008) == 0x00000008)) {
389        size += com.google.protobuf.CodedOutputStream
390          .computeMessageSize(4, subplan_);
391      }
392      size += getUnknownFields().getSerializedSize();
393      memoizedSerializedSize = size;
394      return size;
395    }
396
397    private static final long serialVersionUID = 0L;
398    @java.lang.Override
399    protected java.lang.Object writeReplace()
400        throws java.io.ObjectStreamException {
401      return super.writeReplace();
402    }
403
404    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseFrom(
405        com.google.protobuf.ByteString data)
406        throws com.google.protobuf.InvalidProtocolBufferException {
407      return PARSER.parseFrom(data);
408    }
409    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseFrom(
410        com.google.protobuf.ByteString data,
411        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
412        throws com.google.protobuf.InvalidProtocolBufferException {
413      return PARSER.parseFrom(data, extensionRegistry);
414    }
415    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseFrom(byte[] data)
416        throws com.google.protobuf.InvalidProtocolBufferException {
417      return PARSER.parseFrom(data);
418    }
419    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseFrom(
420        byte[] data,
421        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
422        throws com.google.protobuf.InvalidProtocolBufferException {
423      return PARSER.parseFrom(data, extensionRegistry);
424    }
425    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseFrom(java.io.InputStream input)
426        throws java.io.IOException {
427      return PARSER.parseFrom(input);
428    }
429    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseFrom(
430        java.io.InputStream input,
431        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
432        throws java.io.IOException {
433      return PARSER.parseFrom(input, extensionRegistry);
434    }
435    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseDelimitedFrom(java.io.InputStream input)
436        throws java.io.IOException {
437      return PARSER.parseDelimitedFrom(input);
438    }
439    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseDelimitedFrom(
440        java.io.InputStream input,
441        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
442        throws java.io.IOException {
443      return PARSER.parseDelimitedFrom(input, extensionRegistry);
444    }
445    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseFrom(
446        com.google.protobuf.CodedInputStream input)
447        throws java.io.IOException {
448      return PARSER.parseFrom(input);
449    }
450    public static org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parseFrom(
451        com.google.protobuf.CodedInputStream input,
452        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
453        throws java.io.IOException {
454      return PARSER.parseFrom(input, extensionRegistry);
455    }
456
457    public static Builder newBuilder() { return Builder.create(); }
458    public Builder newBuilderForType() { return newBuilder(); }
459    public static Builder newBuilder(org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan prototype) {
460      return newBuilder().mergeFrom(prototype);
461    }
462    public Builder toBuilder() { return newBuilder(this); }
463
464    @java.lang.Override
465    protected Builder newBuilderForType(
466        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
467      Builder builder = new Builder(parent);
468      return builder;
469    }
470    /**
471     * Protobuf type {@code InjectionPlan}
472     */
473    public static final class Builder extends
474        com.google.protobuf.GeneratedMessage.Builder<Builder>
475       implements org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder {
476      public static final com.google.protobuf.Descriptors.Descriptor
477          getDescriptor() {
478        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_InjectionPlan_descriptor;
479      }
480
481      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
482          internalGetFieldAccessorTable() {
483        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_InjectionPlan_fieldAccessorTable
484            .ensureFieldAccessorsInitialized(
485                org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.class, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder.class);
486      }
487
488      // Construct using org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.newBuilder()
489      private Builder() {
490        maybeForceBuilderInitialization();
491      }
492
493      private Builder(
494          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
495        super(parent);
496        maybeForceBuilderInitialization();
497      }
498      private void maybeForceBuilderInitialization() {
499        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
500          getConstructorFieldBuilder();
501          getInstanceFieldBuilder();
502          getSubplanFieldBuilder();
503        }
504      }
505      private static Builder create() {
506        return new Builder();
507      }
508
509      public Builder clear() {
510        super.clear();
511        name_ = "";
512        bitField0_ = (bitField0_ & ~0x00000001);
513        if (constructorBuilder_ == null) {
514          constructor_ = org.apache.reef.tang.proto.InjectionPlanProto.Constructor.getDefaultInstance();
515        } else {
516          constructorBuilder_.clear();
517        }
518        bitField0_ = (bitField0_ & ~0x00000002);
519        if (instanceBuilder_ == null) {
520          instance_ = org.apache.reef.tang.proto.InjectionPlanProto.Instance.getDefaultInstance();
521        } else {
522          instanceBuilder_.clear();
523        }
524        bitField0_ = (bitField0_ & ~0x00000004);
525        if (subplanBuilder_ == null) {
526          subplan_ = org.apache.reef.tang.proto.InjectionPlanProto.Subplan.getDefaultInstance();
527        } else {
528          subplanBuilder_.clear();
529        }
530        bitField0_ = (bitField0_ & ~0x00000008);
531        return this;
532      }
533
534      public Builder clone() {
535        return create().mergeFrom(buildPartial());
536      }
537
538      public com.google.protobuf.Descriptors.Descriptor
539          getDescriptorForType() {
540        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_InjectionPlan_descriptor;
541      }
542
543      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan getDefaultInstanceForType() {
544        return org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.getDefaultInstance();
545      }
546
547      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan build() {
548        org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan result = buildPartial();
549        if (!result.isInitialized()) {
550          throw newUninitializedMessageException(result);
551        }
552        return result;
553      }
554
555      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan buildPartial() {
556        org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan result = new org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan(this);
557        int from_bitField0_ = bitField0_;
558        int to_bitField0_ = 0;
559        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
560          to_bitField0_ |= 0x00000001;
561        }
562        result.name_ = name_;
563        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
564          to_bitField0_ |= 0x00000002;
565        }
566        if (constructorBuilder_ == null) {
567          result.constructor_ = constructor_;
568        } else {
569          result.constructor_ = constructorBuilder_.build();
570        }
571        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
572          to_bitField0_ |= 0x00000004;
573        }
574        if (instanceBuilder_ == null) {
575          result.instance_ = instance_;
576        } else {
577          result.instance_ = instanceBuilder_.build();
578        }
579        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
580          to_bitField0_ |= 0x00000008;
581        }
582        if (subplanBuilder_ == null) {
583          result.subplan_ = subplan_;
584        } else {
585          result.subplan_ = subplanBuilder_.build();
586        }
587        result.bitField0_ = to_bitField0_;
588        onBuilt();
589        return result;
590      }
591
592      public Builder mergeFrom(com.google.protobuf.Message other) {
593        if (other instanceof org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan) {
594          return mergeFrom((org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan)other);
595        } else {
596          super.mergeFrom(other);
597          return this;
598        }
599      }
600
601      public Builder mergeFrom(org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan other) {
602        if (other == org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.getDefaultInstance()) return this;
603        if (other.hasName()) {
604          bitField0_ |= 0x00000001;
605          name_ = other.name_;
606          onChanged();
607        }
608        if (other.hasConstructor()) {
609          mergeConstructor(other.getConstructor());
610        }
611        if (other.hasInstance()) {
612          mergeInstance(other.getInstance());
613        }
614        if (other.hasSubplan()) {
615          mergeSubplan(other.getSubplan());
616        }
617        this.mergeUnknownFields(other.getUnknownFields());
618        return this;
619      }
620
621      public final boolean isInitialized() {
622        if (!hasName()) {
623          
624          return false;
625        }
626        if (hasConstructor()) {
627          if (!getConstructor().isInitialized()) {
628            
629            return false;
630          }
631        }
632        if (hasInstance()) {
633          if (!getInstance().isInitialized()) {
634            
635            return false;
636          }
637        }
638        if (hasSubplan()) {
639          if (!getSubplan().isInitialized()) {
640            
641            return false;
642          }
643        }
644        return true;
645      }
646
647      public Builder mergeFrom(
648          com.google.protobuf.CodedInputStream input,
649          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
650          throws java.io.IOException {
651        org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan parsedMessage = null;
652        try {
653          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
654        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
655          parsedMessage = (org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan) e.getUnfinishedMessage();
656          throw e;
657        } finally {
658          if (parsedMessage != null) {
659            mergeFrom(parsedMessage);
660          }
661        }
662        return this;
663      }
664      private int bitField0_;
665
666      // required string name = 1;
667      private java.lang.Object name_ = "";
668      /**
669       * <code>required string name = 1;</code>
670       */
671      public boolean hasName() {
672        return ((bitField0_ & 0x00000001) == 0x00000001);
673      }
674      /**
675       * <code>required string name = 1;</code>
676       */
677      public java.lang.String getName() {
678        java.lang.Object ref = name_;
679        if (!(ref instanceof java.lang.String)) {
680          java.lang.String s = ((com.google.protobuf.ByteString) ref)
681              .toStringUtf8();
682          name_ = s;
683          return s;
684        } else {
685          return (java.lang.String) ref;
686        }
687      }
688      /**
689       * <code>required string name = 1;</code>
690       */
691      public com.google.protobuf.ByteString
692          getNameBytes() {
693        java.lang.Object ref = name_;
694        if (ref instanceof String) {
695          com.google.protobuf.ByteString b = 
696              com.google.protobuf.ByteString.copyFromUtf8(
697                  (java.lang.String) ref);
698          name_ = b;
699          return b;
700        } else {
701          return (com.google.protobuf.ByteString) ref;
702        }
703      }
704      /**
705       * <code>required string name = 1;</code>
706       */
707      public Builder setName(
708          java.lang.String value) {
709        if (value == null) {
710    throw new NullPointerException();
711  }
712  bitField0_ |= 0x00000001;
713        name_ = value;
714        onChanged();
715        return this;
716      }
717      /**
718       * <code>required string name = 1;</code>
719       */
720      public Builder clearName() {
721        bitField0_ = (bitField0_ & ~0x00000001);
722        name_ = getDefaultInstance().getName();
723        onChanged();
724        return this;
725      }
726      /**
727       * <code>required string name = 1;</code>
728       */
729      public Builder setNameBytes(
730          com.google.protobuf.ByteString value) {
731        if (value == null) {
732    throw new NullPointerException();
733  }
734  bitField0_ |= 0x00000001;
735        name_ = value;
736        onChanged();
737        return this;
738      }
739
740      // optional .Constructor constructor = 2;
741      private org.apache.reef.tang.proto.InjectionPlanProto.Constructor constructor_ = org.apache.reef.tang.proto.InjectionPlanProto.Constructor.getDefaultInstance();
742      private com.google.protobuf.SingleFieldBuilder<
743          org.apache.reef.tang.proto.InjectionPlanProto.Constructor, org.apache.reef.tang.proto.InjectionPlanProto.Constructor.Builder, org.apache.reef.tang.proto.InjectionPlanProto.ConstructorOrBuilder> constructorBuilder_;
744      /**
745       * <code>optional .Constructor constructor = 2;</code>
746       */
747      public boolean hasConstructor() {
748        return ((bitField0_ & 0x00000002) == 0x00000002);
749      }
750      /**
751       * <code>optional .Constructor constructor = 2;</code>
752       */
753      public org.apache.reef.tang.proto.InjectionPlanProto.Constructor getConstructor() {
754        if (constructorBuilder_ == null) {
755          return constructor_;
756        } else {
757          return constructorBuilder_.getMessage();
758        }
759      }
760      /**
761       * <code>optional .Constructor constructor = 2;</code>
762       */
763      public Builder setConstructor(org.apache.reef.tang.proto.InjectionPlanProto.Constructor value) {
764        if (constructorBuilder_ == null) {
765          if (value == null) {
766            throw new NullPointerException();
767          }
768          constructor_ = value;
769          onChanged();
770        } else {
771          constructorBuilder_.setMessage(value);
772        }
773        bitField0_ |= 0x00000002;
774        return this;
775      }
776      /**
777       * <code>optional .Constructor constructor = 2;</code>
778       */
779      public Builder setConstructor(
780          org.apache.reef.tang.proto.InjectionPlanProto.Constructor.Builder builderForValue) {
781        if (constructorBuilder_ == null) {
782          constructor_ = builderForValue.build();
783          onChanged();
784        } else {
785          constructorBuilder_.setMessage(builderForValue.build());
786        }
787        bitField0_ |= 0x00000002;
788        return this;
789      }
790      /**
791       * <code>optional .Constructor constructor = 2;</code>
792       */
793      public Builder mergeConstructor(org.apache.reef.tang.proto.InjectionPlanProto.Constructor value) {
794        if (constructorBuilder_ == null) {
795          if (((bitField0_ & 0x00000002) == 0x00000002) &&
796              constructor_ != org.apache.reef.tang.proto.InjectionPlanProto.Constructor.getDefaultInstance()) {
797            constructor_ =
798              org.apache.reef.tang.proto.InjectionPlanProto.Constructor.newBuilder(constructor_).mergeFrom(value).buildPartial();
799          } else {
800            constructor_ = value;
801          }
802          onChanged();
803        } else {
804          constructorBuilder_.mergeFrom(value);
805        }
806        bitField0_ |= 0x00000002;
807        return this;
808      }
809      /**
810       * <code>optional .Constructor constructor = 2;</code>
811       */
812      public Builder clearConstructor() {
813        if (constructorBuilder_ == null) {
814          constructor_ = org.apache.reef.tang.proto.InjectionPlanProto.Constructor.getDefaultInstance();
815          onChanged();
816        } else {
817          constructorBuilder_.clear();
818        }
819        bitField0_ = (bitField0_ & ~0x00000002);
820        return this;
821      }
822      /**
823       * <code>optional .Constructor constructor = 2;</code>
824       */
825      public org.apache.reef.tang.proto.InjectionPlanProto.Constructor.Builder getConstructorBuilder() {
826        bitField0_ |= 0x00000002;
827        onChanged();
828        return getConstructorFieldBuilder().getBuilder();
829      }
830      /**
831       * <code>optional .Constructor constructor = 2;</code>
832       */
833      public org.apache.reef.tang.proto.InjectionPlanProto.ConstructorOrBuilder getConstructorOrBuilder() {
834        if (constructorBuilder_ != null) {
835          return constructorBuilder_.getMessageOrBuilder();
836        } else {
837          return constructor_;
838        }
839      }
840      /**
841       * <code>optional .Constructor constructor = 2;</code>
842       */
843      private com.google.protobuf.SingleFieldBuilder<
844          org.apache.reef.tang.proto.InjectionPlanProto.Constructor, org.apache.reef.tang.proto.InjectionPlanProto.Constructor.Builder, org.apache.reef.tang.proto.InjectionPlanProto.ConstructorOrBuilder> 
845          getConstructorFieldBuilder() {
846        if (constructorBuilder_ == null) {
847          constructorBuilder_ = new com.google.protobuf.SingleFieldBuilder<
848              org.apache.reef.tang.proto.InjectionPlanProto.Constructor, org.apache.reef.tang.proto.InjectionPlanProto.Constructor.Builder, org.apache.reef.tang.proto.InjectionPlanProto.ConstructorOrBuilder>(
849                  constructor_,
850                  getParentForChildren(),
851                  isClean());
852          constructor_ = null;
853        }
854        return constructorBuilder_;
855      }
856
857      // optional .Instance instance = 3;
858      private org.apache.reef.tang.proto.InjectionPlanProto.Instance instance_ = org.apache.reef.tang.proto.InjectionPlanProto.Instance.getDefaultInstance();
859      private com.google.protobuf.SingleFieldBuilder<
860          org.apache.reef.tang.proto.InjectionPlanProto.Instance, org.apache.reef.tang.proto.InjectionPlanProto.Instance.Builder, org.apache.reef.tang.proto.InjectionPlanProto.InstanceOrBuilder> instanceBuilder_;
861      /**
862       * <code>optional .Instance instance = 3;</code>
863       */
864      public boolean hasInstance() {
865        return ((bitField0_ & 0x00000004) == 0x00000004);
866      }
867      /**
868       * <code>optional .Instance instance = 3;</code>
869       */
870      public org.apache.reef.tang.proto.InjectionPlanProto.Instance getInstance() {
871        if (instanceBuilder_ == null) {
872          return instance_;
873        } else {
874          return instanceBuilder_.getMessage();
875        }
876      }
877      /**
878       * <code>optional .Instance instance = 3;</code>
879       */
880      public Builder setInstance(org.apache.reef.tang.proto.InjectionPlanProto.Instance value) {
881        if (instanceBuilder_ == null) {
882          if (value == null) {
883            throw new NullPointerException();
884          }
885          instance_ = value;
886          onChanged();
887        } else {
888          instanceBuilder_.setMessage(value);
889        }
890        bitField0_ |= 0x00000004;
891        return this;
892      }
893      /**
894       * <code>optional .Instance instance = 3;</code>
895       */
896      public Builder setInstance(
897          org.apache.reef.tang.proto.InjectionPlanProto.Instance.Builder builderForValue) {
898        if (instanceBuilder_ == null) {
899          instance_ = builderForValue.build();
900          onChanged();
901        } else {
902          instanceBuilder_.setMessage(builderForValue.build());
903        }
904        bitField0_ |= 0x00000004;
905        return this;
906      }
907      /**
908       * <code>optional .Instance instance = 3;</code>
909       */
910      public Builder mergeInstance(org.apache.reef.tang.proto.InjectionPlanProto.Instance value) {
911        if (instanceBuilder_ == null) {
912          if (((bitField0_ & 0x00000004) == 0x00000004) &&
913              instance_ != org.apache.reef.tang.proto.InjectionPlanProto.Instance.getDefaultInstance()) {
914            instance_ =
915              org.apache.reef.tang.proto.InjectionPlanProto.Instance.newBuilder(instance_).mergeFrom(value).buildPartial();
916          } else {
917            instance_ = value;
918          }
919          onChanged();
920        } else {
921          instanceBuilder_.mergeFrom(value);
922        }
923        bitField0_ |= 0x00000004;
924        return this;
925      }
926      /**
927       * <code>optional .Instance instance = 3;</code>
928       */
929      public Builder clearInstance() {
930        if (instanceBuilder_ == null) {
931          instance_ = org.apache.reef.tang.proto.InjectionPlanProto.Instance.getDefaultInstance();
932          onChanged();
933        } else {
934          instanceBuilder_.clear();
935        }
936        bitField0_ = (bitField0_ & ~0x00000004);
937        return this;
938      }
939      /**
940       * <code>optional .Instance instance = 3;</code>
941       */
942      public org.apache.reef.tang.proto.InjectionPlanProto.Instance.Builder getInstanceBuilder() {
943        bitField0_ |= 0x00000004;
944        onChanged();
945        return getInstanceFieldBuilder().getBuilder();
946      }
947      /**
948       * <code>optional .Instance instance = 3;</code>
949       */
950      public org.apache.reef.tang.proto.InjectionPlanProto.InstanceOrBuilder getInstanceOrBuilder() {
951        if (instanceBuilder_ != null) {
952          return instanceBuilder_.getMessageOrBuilder();
953        } else {
954          return instance_;
955        }
956      }
957      /**
958       * <code>optional .Instance instance = 3;</code>
959       */
960      private com.google.protobuf.SingleFieldBuilder<
961          org.apache.reef.tang.proto.InjectionPlanProto.Instance, org.apache.reef.tang.proto.InjectionPlanProto.Instance.Builder, org.apache.reef.tang.proto.InjectionPlanProto.InstanceOrBuilder> 
962          getInstanceFieldBuilder() {
963        if (instanceBuilder_ == null) {
964          instanceBuilder_ = new com.google.protobuf.SingleFieldBuilder<
965              org.apache.reef.tang.proto.InjectionPlanProto.Instance, org.apache.reef.tang.proto.InjectionPlanProto.Instance.Builder, org.apache.reef.tang.proto.InjectionPlanProto.InstanceOrBuilder>(
966                  instance_,
967                  getParentForChildren(),
968                  isClean());
969          instance_ = null;
970        }
971        return instanceBuilder_;
972      }
973
974      // optional .Subplan subplan = 4;
975      private org.apache.reef.tang.proto.InjectionPlanProto.Subplan subplan_ = org.apache.reef.tang.proto.InjectionPlanProto.Subplan.getDefaultInstance();
976      private com.google.protobuf.SingleFieldBuilder<
977          org.apache.reef.tang.proto.InjectionPlanProto.Subplan, org.apache.reef.tang.proto.InjectionPlanProto.Subplan.Builder, org.apache.reef.tang.proto.InjectionPlanProto.SubplanOrBuilder> subplanBuilder_;
978      /**
979       * <code>optional .Subplan subplan = 4;</code>
980       */
981      public boolean hasSubplan() {
982        return ((bitField0_ & 0x00000008) == 0x00000008);
983      }
984      /**
985       * <code>optional .Subplan subplan = 4;</code>
986       */
987      public org.apache.reef.tang.proto.InjectionPlanProto.Subplan getSubplan() {
988        if (subplanBuilder_ == null) {
989          return subplan_;
990        } else {
991          return subplanBuilder_.getMessage();
992        }
993      }
994      /**
995       * <code>optional .Subplan subplan = 4;</code>
996       */
997      public Builder setSubplan(org.apache.reef.tang.proto.InjectionPlanProto.Subplan value) {
998        if (subplanBuilder_ == null) {
999          if (value == null) {
1000            throw new NullPointerException();
1001          }
1002          subplan_ = value;
1003          onChanged();
1004        } else {
1005          subplanBuilder_.setMessage(value);
1006        }
1007        bitField0_ |= 0x00000008;
1008        return this;
1009      }
1010      /**
1011       * <code>optional .Subplan subplan = 4;</code>
1012       */
1013      public Builder setSubplan(
1014          org.apache.reef.tang.proto.InjectionPlanProto.Subplan.Builder builderForValue) {
1015        if (subplanBuilder_ == null) {
1016          subplan_ = builderForValue.build();
1017          onChanged();
1018        } else {
1019          subplanBuilder_.setMessage(builderForValue.build());
1020        }
1021        bitField0_ |= 0x00000008;
1022        return this;
1023      }
1024      /**
1025       * <code>optional .Subplan subplan = 4;</code>
1026       */
1027      public Builder mergeSubplan(org.apache.reef.tang.proto.InjectionPlanProto.Subplan value) {
1028        if (subplanBuilder_ == null) {
1029          if (((bitField0_ & 0x00000008) == 0x00000008) &&
1030              subplan_ != org.apache.reef.tang.proto.InjectionPlanProto.Subplan.getDefaultInstance()) {
1031            subplan_ =
1032              org.apache.reef.tang.proto.InjectionPlanProto.Subplan.newBuilder(subplan_).mergeFrom(value).buildPartial();
1033          } else {
1034            subplan_ = value;
1035          }
1036          onChanged();
1037        } else {
1038          subplanBuilder_.mergeFrom(value);
1039        }
1040        bitField0_ |= 0x00000008;
1041        return this;
1042      }
1043      /**
1044       * <code>optional .Subplan subplan = 4;</code>
1045       */
1046      public Builder clearSubplan() {
1047        if (subplanBuilder_ == null) {
1048          subplan_ = org.apache.reef.tang.proto.InjectionPlanProto.Subplan.getDefaultInstance();
1049          onChanged();
1050        } else {
1051          subplanBuilder_.clear();
1052        }
1053        bitField0_ = (bitField0_ & ~0x00000008);
1054        return this;
1055      }
1056      /**
1057       * <code>optional .Subplan subplan = 4;</code>
1058       */
1059      public org.apache.reef.tang.proto.InjectionPlanProto.Subplan.Builder getSubplanBuilder() {
1060        bitField0_ |= 0x00000008;
1061        onChanged();
1062        return getSubplanFieldBuilder().getBuilder();
1063      }
1064      /**
1065       * <code>optional .Subplan subplan = 4;</code>
1066       */
1067      public org.apache.reef.tang.proto.InjectionPlanProto.SubplanOrBuilder getSubplanOrBuilder() {
1068        if (subplanBuilder_ != null) {
1069          return subplanBuilder_.getMessageOrBuilder();
1070        } else {
1071          return subplan_;
1072        }
1073      }
1074      /**
1075       * <code>optional .Subplan subplan = 4;</code>
1076       */
1077      private com.google.protobuf.SingleFieldBuilder<
1078          org.apache.reef.tang.proto.InjectionPlanProto.Subplan, org.apache.reef.tang.proto.InjectionPlanProto.Subplan.Builder, org.apache.reef.tang.proto.InjectionPlanProto.SubplanOrBuilder> 
1079          getSubplanFieldBuilder() {
1080        if (subplanBuilder_ == null) {
1081          subplanBuilder_ = new com.google.protobuf.SingleFieldBuilder<
1082              org.apache.reef.tang.proto.InjectionPlanProto.Subplan, org.apache.reef.tang.proto.InjectionPlanProto.Subplan.Builder, org.apache.reef.tang.proto.InjectionPlanProto.SubplanOrBuilder>(
1083                  subplan_,
1084                  getParentForChildren(),
1085                  isClean());
1086          subplan_ = null;
1087        }
1088        return subplanBuilder_;
1089      }
1090
1091      // @@protoc_insertion_point(builder_scope:InjectionPlan)
1092    }
1093
1094    static {
1095      defaultInstance = new InjectionPlan(true);
1096      defaultInstance.initFields();
1097    }
1098
1099    // @@protoc_insertion_point(class_scope:InjectionPlan)
1100  }
1101
1102  public interface SubplanOrBuilder
1103      extends com.google.protobuf.MessageOrBuilder {
1104
1105    // optional sint32 selected_plan = 1;
1106    /**
1107     * <code>optional sint32 selected_plan = 1;</code>
1108     */
1109    boolean hasSelectedPlan();
1110    /**
1111     * <code>optional sint32 selected_plan = 1;</code>
1112     */
1113    int getSelectedPlan();
1114
1115    // repeated .InjectionPlan plans = 2;
1116    /**
1117     * <code>repeated .InjectionPlan plans = 2;</code>
1118     */
1119    java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> 
1120        getPlansList();
1121    /**
1122     * <code>repeated .InjectionPlan plans = 2;</code>
1123     */
1124    org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan getPlans(int index);
1125    /**
1126     * <code>repeated .InjectionPlan plans = 2;</code>
1127     */
1128    int getPlansCount();
1129    /**
1130     * <code>repeated .InjectionPlan plans = 2;</code>
1131     */
1132    java.util.List<? extends org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> 
1133        getPlansOrBuilderList();
1134    /**
1135     * <code>repeated .InjectionPlan plans = 2;</code>
1136     */
1137    org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder getPlansOrBuilder(
1138        int index);
1139  }
1140  /**
1141   * Protobuf type {@code Subplan}
1142   */
1143  public static final class Subplan extends
1144      com.google.protobuf.GeneratedMessage
1145      implements SubplanOrBuilder {
1146    // Use Subplan.newBuilder() to construct.
1147    private Subplan(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
1148      super(builder);
1149      this.unknownFields = builder.getUnknownFields();
1150    }
1151    private Subplan(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
1152
1153    private static final Subplan defaultInstance;
1154    public static Subplan getDefaultInstance() {
1155      return defaultInstance;
1156    }
1157
1158    public Subplan getDefaultInstanceForType() {
1159      return defaultInstance;
1160    }
1161
1162    private final com.google.protobuf.UnknownFieldSet unknownFields;
1163    @java.lang.Override
1164    public final com.google.protobuf.UnknownFieldSet
1165        getUnknownFields() {
1166      return this.unknownFields;
1167    }
1168    private Subplan(
1169        com.google.protobuf.CodedInputStream input,
1170        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1171        throws com.google.protobuf.InvalidProtocolBufferException {
1172      initFields();
1173      int mutable_bitField0_ = 0;
1174      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1175          com.google.protobuf.UnknownFieldSet.newBuilder();
1176      try {
1177        boolean done = false;
1178        while (!done) {
1179          int tag = input.readTag();
1180          switch (tag) {
1181            case 0:
1182              done = true;
1183              break;
1184            default: {
1185              if (!parseUnknownField(input, unknownFields,
1186                                     extensionRegistry, tag)) {
1187                done = true;
1188              }
1189              break;
1190            }
1191            case 8: {
1192              bitField0_ |= 0x00000001;
1193              selectedPlan_ = input.readSInt32();
1194              break;
1195            }
1196            case 18: {
1197              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1198                plans_ = new java.util.ArrayList<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan>();
1199                mutable_bitField0_ |= 0x00000002;
1200              }
1201              plans_.add(input.readMessage(org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.PARSER, extensionRegistry));
1202              break;
1203            }
1204          }
1205        }
1206      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1207        throw e.setUnfinishedMessage(this);
1208      } catch (java.io.IOException e) {
1209        throw new com.google.protobuf.InvalidProtocolBufferException(
1210            e.getMessage()).setUnfinishedMessage(this);
1211      } finally {
1212        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1213          plans_ = java.util.Collections.unmodifiableList(plans_);
1214        }
1215        this.unknownFields = unknownFields.build();
1216        makeExtensionsImmutable();
1217      }
1218    }
1219    public static final com.google.protobuf.Descriptors.Descriptor
1220        getDescriptor() {
1221      return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Subplan_descriptor;
1222    }
1223
1224    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1225        internalGetFieldAccessorTable() {
1226      return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Subplan_fieldAccessorTable
1227          .ensureFieldAccessorsInitialized(
1228              org.apache.reef.tang.proto.InjectionPlanProto.Subplan.class, org.apache.reef.tang.proto.InjectionPlanProto.Subplan.Builder.class);
1229    }
1230
1231    public static com.google.protobuf.Parser<Subplan> PARSER =
1232        new com.google.protobuf.AbstractParser<Subplan>() {
1233      public Subplan parsePartialFrom(
1234          com.google.protobuf.CodedInputStream input,
1235          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1236          throws com.google.protobuf.InvalidProtocolBufferException {
1237        return new Subplan(input, extensionRegistry);
1238      }
1239    };
1240
1241    @java.lang.Override
1242    public com.google.protobuf.Parser<Subplan> getParserForType() {
1243      return PARSER;
1244    }
1245
1246    private int bitField0_;
1247    // optional sint32 selected_plan = 1;
1248    public static final int SELECTED_PLAN_FIELD_NUMBER = 1;
1249    private int selectedPlan_;
1250    /**
1251     * <code>optional sint32 selected_plan = 1;</code>
1252     */
1253    public boolean hasSelectedPlan() {
1254      return ((bitField0_ & 0x00000001) == 0x00000001);
1255    }
1256    /**
1257     * <code>optional sint32 selected_plan = 1;</code>
1258     */
1259    public int getSelectedPlan() {
1260      return selectedPlan_;
1261    }
1262
1263    // repeated .InjectionPlan plans = 2;
1264    public static final int PLANS_FIELD_NUMBER = 2;
1265    private java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> plans_;
1266    /**
1267     * <code>repeated .InjectionPlan plans = 2;</code>
1268     */
1269    public java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> getPlansList() {
1270      return plans_;
1271    }
1272    /**
1273     * <code>repeated .InjectionPlan plans = 2;</code>
1274     */
1275    public java.util.List<? extends org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> 
1276        getPlansOrBuilderList() {
1277      return plans_;
1278    }
1279    /**
1280     * <code>repeated .InjectionPlan plans = 2;</code>
1281     */
1282    public int getPlansCount() {
1283      return plans_.size();
1284    }
1285    /**
1286     * <code>repeated .InjectionPlan plans = 2;</code>
1287     */
1288    public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan getPlans(int index) {
1289      return plans_.get(index);
1290    }
1291    /**
1292     * <code>repeated .InjectionPlan plans = 2;</code>
1293     */
1294    public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder getPlansOrBuilder(
1295        int index) {
1296      return plans_.get(index);
1297    }
1298
1299    private void initFields() {
1300      selectedPlan_ = 0;
1301      plans_ = java.util.Collections.emptyList();
1302    }
1303    private byte memoizedIsInitialized = -1;
1304    public final boolean isInitialized() {
1305      byte isInitialized = memoizedIsInitialized;
1306      if (isInitialized != -1) return isInitialized == 1;
1307
1308      for (int i = 0; i < getPlansCount(); i++) {
1309        if (!getPlans(i).isInitialized()) {
1310          memoizedIsInitialized = 0;
1311          return false;
1312        }
1313      }
1314      memoizedIsInitialized = 1;
1315      return true;
1316    }
1317
1318    public void writeTo(com.google.protobuf.CodedOutputStream output)
1319                        throws java.io.IOException {
1320      getSerializedSize();
1321      if (((bitField0_ & 0x00000001) == 0x00000001)) {
1322        output.writeSInt32(1, selectedPlan_);
1323      }
1324      for (int i = 0; i < plans_.size(); i++) {
1325        output.writeMessage(2, plans_.get(i));
1326      }
1327      getUnknownFields().writeTo(output);
1328    }
1329
1330    private int memoizedSerializedSize = -1;
1331    public int getSerializedSize() {
1332      int size = memoizedSerializedSize;
1333      if (size != -1) return size;
1334
1335      size = 0;
1336      if (((bitField0_ & 0x00000001) == 0x00000001)) {
1337        size += com.google.protobuf.CodedOutputStream
1338          .computeSInt32Size(1, selectedPlan_);
1339      }
1340      for (int i = 0; i < plans_.size(); i++) {
1341        size += com.google.protobuf.CodedOutputStream
1342          .computeMessageSize(2, plans_.get(i));
1343      }
1344      size += getUnknownFields().getSerializedSize();
1345      memoizedSerializedSize = size;
1346      return size;
1347    }
1348
1349    private static final long serialVersionUID = 0L;
1350    @java.lang.Override
1351    protected java.lang.Object writeReplace()
1352        throws java.io.ObjectStreamException {
1353      return super.writeReplace();
1354    }
1355
1356    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseFrom(
1357        com.google.protobuf.ByteString data)
1358        throws com.google.protobuf.InvalidProtocolBufferException {
1359      return PARSER.parseFrom(data);
1360    }
1361    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseFrom(
1362        com.google.protobuf.ByteString data,
1363        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1364        throws com.google.protobuf.InvalidProtocolBufferException {
1365      return PARSER.parseFrom(data, extensionRegistry);
1366    }
1367    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseFrom(byte[] data)
1368        throws com.google.protobuf.InvalidProtocolBufferException {
1369      return PARSER.parseFrom(data);
1370    }
1371    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseFrom(
1372        byte[] data,
1373        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1374        throws com.google.protobuf.InvalidProtocolBufferException {
1375      return PARSER.parseFrom(data, extensionRegistry);
1376    }
1377    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseFrom(java.io.InputStream input)
1378        throws java.io.IOException {
1379      return PARSER.parseFrom(input);
1380    }
1381    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseFrom(
1382        java.io.InputStream input,
1383        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1384        throws java.io.IOException {
1385      return PARSER.parseFrom(input, extensionRegistry);
1386    }
1387    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseDelimitedFrom(java.io.InputStream input)
1388        throws java.io.IOException {
1389      return PARSER.parseDelimitedFrom(input);
1390    }
1391    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseDelimitedFrom(
1392        java.io.InputStream input,
1393        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1394        throws java.io.IOException {
1395      return PARSER.parseDelimitedFrom(input, extensionRegistry);
1396    }
1397    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseFrom(
1398        com.google.protobuf.CodedInputStream input)
1399        throws java.io.IOException {
1400      return PARSER.parseFrom(input);
1401    }
1402    public static org.apache.reef.tang.proto.InjectionPlanProto.Subplan parseFrom(
1403        com.google.protobuf.CodedInputStream input,
1404        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1405        throws java.io.IOException {
1406      return PARSER.parseFrom(input, extensionRegistry);
1407    }
1408
1409    public static Builder newBuilder() { return Builder.create(); }
1410    public Builder newBuilderForType() { return newBuilder(); }
1411    public static Builder newBuilder(org.apache.reef.tang.proto.InjectionPlanProto.Subplan prototype) {
1412      return newBuilder().mergeFrom(prototype);
1413    }
1414    public Builder toBuilder() { return newBuilder(this); }
1415
1416    @java.lang.Override
1417    protected Builder newBuilderForType(
1418        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
1419      Builder builder = new Builder(parent);
1420      return builder;
1421    }
1422    /**
1423     * Protobuf type {@code Subplan}
1424     */
1425    public static final class Builder extends
1426        com.google.protobuf.GeneratedMessage.Builder<Builder>
1427       implements org.apache.reef.tang.proto.InjectionPlanProto.SubplanOrBuilder {
1428      public static final com.google.protobuf.Descriptors.Descriptor
1429          getDescriptor() {
1430        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Subplan_descriptor;
1431      }
1432
1433      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1434          internalGetFieldAccessorTable() {
1435        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Subplan_fieldAccessorTable
1436            .ensureFieldAccessorsInitialized(
1437                org.apache.reef.tang.proto.InjectionPlanProto.Subplan.class, org.apache.reef.tang.proto.InjectionPlanProto.Subplan.Builder.class);
1438      }
1439
1440      // Construct using org.apache.reef.tang.proto.InjectionPlanProto.Subplan.newBuilder()
1441      private Builder() {
1442        maybeForceBuilderInitialization();
1443      }
1444
1445      private Builder(
1446          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
1447        super(parent);
1448        maybeForceBuilderInitialization();
1449      }
1450      private void maybeForceBuilderInitialization() {
1451        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
1452          getPlansFieldBuilder();
1453        }
1454      }
1455      private static Builder create() {
1456        return new Builder();
1457      }
1458
1459      public Builder clear() {
1460        super.clear();
1461        selectedPlan_ = 0;
1462        bitField0_ = (bitField0_ & ~0x00000001);
1463        if (plansBuilder_ == null) {
1464          plans_ = java.util.Collections.emptyList();
1465          bitField0_ = (bitField0_ & ~0x00000002);
1466        } else {
1467          plansBuilder_.clear();
1468        }
1469        return this;
1470      }
1471
1472      public Builder clone() {
1473        return create().mergeFrom(buildPartial());
1474      }
1475
1476      public com.google.protobuf.Descriptors.Descriptor
1477          getDescriptorForType() {
1478        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Subplan_descriptor;
1479      }
1480
1481      public org.apache.reef.tang.proto.InjectionPlanProto.Subplan getDefaultInstanceForType() {
1482        return org.apache.reef.tang.proto.InjectionPlanProto.Subplan.getDefaultInstance();
1483      }
1484
1485      public org.apache.reef.tang.proto.InjectionPlanProto.Subplan build() {
1486        org.apache.reef.tang.proto.InjectionPlanProto.Subplan result = buildPartial();
1487        if (!result.isInitialized()) {
1488          throw newUninitializedMessageException(result);
1489        }
1490        return result;
1491      }
1492
1493      public org.apache.reef.tang.proto.InjectionPlanProto.Subplan buildPartial() {
1494        org.apache.reef.tang.proto.InjectionPlanProto.Subplan result = new org.apache.reef.tang.proto.InjectionPlanProto.Subplan(this);
1495        int from_bitField0_ = bitField0_;
1496        int to_bitField0_ = 0;
1497        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1498          to_bitField0_ |= 0x00000001;
1499        }
1500        result.selectedPlan_ = selectedPlan_;
1501        if (plansBuilder_ == null) {
1502          if (((bitField0_ & 0x00000002) == 0x00000002)) {
1503            plans_ = java.util.Collections.unmodifiableList(plans_);
1504            bitField0_ = (bitField0_ & ~0x00000002);
1505          }
1506          result.plans_ = plans_;
1507        } else {
1508          result.plans_ = plansBuilder_.build();
1509        }
1510        result.bitField0_ = to_bitField0_;
1511        onBuilt();
1512        return result;
1513      }
1514
1515      public Builder mergeFrom(com.google.protobuf.Message other) {
1516        if (other instanceof org.apache.reef.tang.proto.InjectionPlanProto.Subplan) {
1517          return mergeFrom((org.apache.reef.tang.proto.InjectionPlanProto.Subplan)other);
1518        } else {
1519          super.mergeFrom(other);
1520          return this;
1521        }
1522      }
1523
1524      public Builder mergeFrom(org.apache.reef.tang.proto.InjectionPlanProto.Subplan other) {
1525        if (other == org.apache.reef.tang.proto.InjectionPlanProto.Subplan.getDefaultInstance()) return this;
1526        if (other.hasSelectedPlan()) {
1527          setSelectedPlan(other.getSelectedPlan());
1528        }
1529        if (plansBuilder_ == null) {
1530          if (!other.plans_.isEmpty()) {
1531            if (plans_.isEmpty()) {
1532              plans_ = other.plans_;
1533              bitField0_ = (bitField0_ & ~0x00000002);
1534            } else {
1535              ensurePlansIsMutable();
1536              plans_.addAll(other.plans_);
1537            }
1538            onChanged();
1539          }
1540        } else {
1541          if (!other.plans_.isEmpty()) {
1542            if (plansBuilder_.isEmpty()) {
1543              plansBuilder_.dispose();
1544              plansBuilder_ = null;
1545              plans_ = other.plans_;
1546              bitField0_ = (bitField0_ & ~0x00000002);
1547              plansBuilder_ = 
1548                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
1549                   getPlansFieldBuilder() : null;
1550            } else {
1551              plansBuilder_.addAllMessages(other.plans_);
1552            }
1553          }
1554        }
1555        this.mergeUnknownFields(other.getUnknownFields());
1556        return this;
1557      }
1558
1559      public final boolean isInitialized() {
1560        for (int i = 0; i < getPlansCount(); i++) {
1561          if (!getPlans(i).isInitialized()) {
1562            
1563            return false;
1564          }
1565        }
1566        return true;
1567      }
1568
1569      public Builder mergeFrom(
1570          com.google.protobuf.CodedInputStream input,
1571          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1572          throws java.io.IOException {
1573        org.apache.reef.tang.proto.InjectionPlanProto.Subplan parsedMessage = null;
1574        try {
1575          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1576        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1577          parsedMessage = (org.apache.reef.tang.proto.InjectionPlanProto.Subplan) e.getUnfinishedMessage();
1578          throw e;
1579        } finally {
1580          if (parsedMessage != null) {
1581            mergeFrom(parsedMessage);
1582          }
1583        }
1584        return this;
1585      }
1586      private int bitField0_;
1587
1588      // optional sint32 selected_plan = 1;
1589      private int selectedPlan_ ;
1590      /**
1591       * <code>optional sint32 selected_plan = 1;</code>
1592       */
1593      public boolean hasSelectedPlan() {
1594        return ((bitField0_ & 0x00000001) == 0x00000001);
1595      }
1596      /**
1597       * <code>optional sint32 selected_plan = 1;</code>
1598       */
1599      public int getSelectedPlan() {
1600        return selectedPlan_;
1601      }
1602      /**
1603       * <code>optional sint32 selected_plan = 1;</code>
1604       */
1605      public Builder setSelectedPlan(int value) {
1606        bitField0_ |= 0x00000001;
1607        selectedPlan_ = value;
1608        onChanged();
1609        return this;
1610      }
1611      /**
1612       * <code>optional sint32 selected_plan = 1;</code>
1613       */
1614      public Builder clearSelectedPlan() {
1615        bitField0_ = (bitField0_ & ~0x00000001);
1616        selectedPlan_ = 0;
1617        onChanged();
1618        return this;
1619      }
1620
1621      // repeated .InjectionPlan plans = 2;
1622      private java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> plans_ =
1623        java.util.Collections.emptyList();
1624      private void ensurePlansIsMutable() {
1625        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
1626          plans_ = new java.util.ArrayList<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan>(plans_);
1627          bitField0_ |= 0x00000002;
1628         }
1629      }
1630
1631      private com.google.protobuf.RepeatedFieldBuilder<
1632          org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> plansBuilder_;
1633
1634      /**
1635       * <code>repeated .InjectionPlan plans = 2;</code>
1636       */
1637      public java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> getPlansList() {
1638        if (plansBuilder_ == null) {
1639          return java.util.Collections.unmodifiableList(plans_);
1640        } else {
1641          return plansBuilder_.getMessageList();
1642        }
1643      }
1644      /**
1645       * <code>repeated .InjectionPlan plans = 2;</code>
1646       */
1647      public int getPlansCount() {
1648        if (plansBuilder_ == null) {
1649          return plans_.size();
1650        } else {
1651          return plansBuilder_.getCount();
1652        }
1653      }
1654      /**
1655       * <code>repeated .InjectionPlan plans = 2;</code>
1656       */
1657      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan getPlans(int index) {
1658        if (plansBuilder_ == null) {
1659          return plans_.get(index);
1660        } else {
1661          return plansBuilder_.getMessage(index);
1662        }
1663      }
1664      /**
1665       * <code>repeated .InjectionPlan plans = 2;</code>
1666       */
1667      public Builder setPlans(
1668          int index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan value) {
1669        if (plansBuilder_ == null) {
1670          if (value == null) {
1671            throw new NullPointerException();
1672          }
1673          ensurePlansIsMutable();
1674          plans_.set(index, value);
1675          onChanged();
1676        } else {
1677          plansBuilder_.setMessage(index, value);
1678        }
1679        return this;
1680      }
1681      /**
1682       * <code>repeated .InjectionPlan plans = 2;</code>
1683       */
1684      public Builder setPlans(
1685          int index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder builderForValue) {
1686        if (plansBuilder_ == null) {
1687          ensurePlansIsMutable();
1688          plans_.set(index, builderForValue.build());
1689          onChanged();
1690        } else {
1691          plansBuilder_.setMessage(index, builderForValue.build());
1692        }
1693        return this;
1694      }
1695      /**
1696       * <code>repeated .InjectionPlan plans = 2;</code>
1697       */
1698      public Builder addPlans(org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan value) {
1699        if (plansBuilder_ == null) {
1700          if (value == null) {
1701            throw new NullPointerException();
1702          }
1703          ensurePlansIsMutable();
1704          plans_.add(value);
1705          onChanged();
1706        } else {
1707          plansBuilder_.addMessage(value);
1708        }
1709        return this;
1710      }
1711      /**
1712       * <code>repeated .InjectionPlan plans = 2;</code>
1713       */
1714      public Builder addPlans(
1715          int index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan value) {
1716        if (plansBuilder_ == null) {
1717          if (value == null) {
1718            throw new NullPointerException();
1719          }
1720          ensurePlansIsMutable();
1721          plans_.add(index, value);
1722          onChanged();
1723        } else {
1724          plansBuilder_.addMessage(index, value);
1725        }
1726        return this;
1727      }
1728      /**
1729       * <code>repeated .InjectionPlan plans = 2;</code>
1730       */
1731      public Builder addPlans(
1732          org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder builderForValue) {
1733        if (plansBuilder_ == null) {
1734          ensurePlansIsMutable();
1735          plans_.add(builderForValue.build());
1736          onChanged();
1737        } else {
1738          plansBuilder_.addMessage(builderForValue.build());
1739        }
1740        return this;
1741      }
1742      /**
1743       * <code>repeated .InjectionPlan plans = 2;</code>
1744       */
1745      public Builder addPlans(
1746          int index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder builderForValue) {
1747        if (plansBuilder_ == null) {
1748          ensurePlansIsMutable();
1749          plans_.add(index, builderForValue.build());
1750          onChanged();
1751        } else {
1752          plansBuilder_.addMessage(index, builderForValue.build());
1753        }
1754        return this;
1755      }
1756      /**
1757       * <code>repeated .InjectionPlan plans = 2;</code>
1758       */
1759      public Builder addAllPlans(
1760          java.lang.Iterable<? extends org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> values) {
1761        if (plansBuilder_ == null) {
1762          ensurePlansIsMutable();
1763          super.addAll(values, plans_);
1764          onChanged();
1765        } else {
1766          plansBuilder_.addAllMessages(values);
1767        }
1768        return this;
1769      }
1770      /**
1771       * <code>repeated .InjectionPlan plans = 2;</code>
1772       */
1773      public Builder clearPlans() {
1774        if (plansBuilder_ == null) {
1775          plans_ = java.util.Collections.emptyList();
1776          bitField0_ = (bitField0_ & ~0x00000002);
1777          onChanged();
1778        } else {
1779          plansBuilder_.clear();
1780        }
1781        return this;
1782      }
1783      /**
1784       * <code>repeated .InjectionPlan plans = 2;</code>
1785       */
1786      public Builder removePlans(int index) {
1787        if (plansBuilder_ == null) {
1788          ensurePlansIsMutable();
1789          plans_.remove(index);
1790          onChanged();
1791        } else {
1792          plansBuilder_.remove(index);
1793        }
1794        return this;
1795      }
1796      /**
1797       * <code>repeated .InjectionPlan plans = 2;</code>
1798       */
1799      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder getPlansBuilder(
1800          int index) {
1801        return getPlansFieldBuilder().getBuilder(index);
1802      }
1803      /**
1804       * <code>repeated .InjectionPlan plans = 2;</code>
1805       */
1806      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder getPlansOrBuilder(
1807          int index) {
1808        if (plansBuilder_ == null) {
1809          return plans_.get(index);  } else {
1810          return plansBuilder_.getMessageOrBuilder(index);
1811        }
1812      }
1813      /**
1814       * <code>repeated .InjectionPlan plans = 2;</code>
1815       */
1816      public java.util.List<? extends org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> 
1817           getPlansOrBuilderList() {
1818        if (plansBuilder_ != null) {
1819          return plansBuilder_.getMessageOrBuilderList();
1820        } else {
1821          return java.util.Collections.unmodifiableList(plans_);
1822        }
1823      }
1824      /**
1825       * <code>repeated .InjectionPlan plans = 2;</code>
1826       */
1827      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder addPlansBuilder() {
1828        return getPlansFieldBuilder().addBuilder(
1829            org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.getDefaultInstance());
1830      }
1831      /**
1832       * <code>repeated .InjectionPlan plans = 2;</code>
1833       */
1834      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder addPlansBuilder(
1835          int index) {
1836        return getPlansFieldBuilder().addBuilder(
1837            index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.getDefaultInstance());
1838      }
1839      /**
1840       * <code>repeated .InjectionPlan plans = 2;</code>
1841       */
1842      public java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder> 
1843           getPlansBuilderList() {
1844        return getPlansFieldBuilder().getBuilderList();
1845      }
1846      private com.google.protobuf.RepeatedFieldBuilder<
1847          org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> 
1848          getPlansFieldBuilder() {
1849        if (plansBuilder_ == null) {
1850          plansBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
1851              org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder>(
1852                  plans_,
1853                  ((bitField0_ & 0x00000002) == 0x00000002),
1854                  getParentForChildren(),
1855                  isClean());
1856          plans_ = null;
1857        }
1858        return plansBuilder_;
1859      }
1860
1861      // @@protoc_insertion_point(builder_scope:Subplan)
1862    }
1863
1864    static {
1865      defaultInstance = new Subplan(true);
1866      defaultInstance.initFields();
1867    }
1868
1869    // @@protoc_insertion_point(class_scope:Subplan)
1870  }
1871
1872  public interface ConstructorOrBuilder
1873      extends com.google.protobuf.MessageOrBuilder {
1874
1875    // repeated .InjectionPlan args = 1;
1876    /**
1877     * <code>repeated .InjectionPlan args = 1;</code>
1878     */
1879    java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> 
1880        getArgsList();
1881    /**
1882     * <code>repeated .InjectionPlan args = 1;</code>
1883     */
1884    org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan getArgs(int index);
1885    /**
1886     * <code>repeated .InjectionPlan args = 1;</code>
1887     */
1888    int getArgsCount();
1889    /**
1890     * <code>repeated .InjectionPlan args = 1;</code>
1891     */
1892    java.util.List<? extends org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> 
1893        getArgsOrBuilderList();
1894    /**
1895     * <code>repeated .InjectionPlan args = 1;</code>
1896     */
1897    org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder getArgsOrBuilder(
1898        int index);
1899  }
1900  /**
1901   * Protobuf type {@code Constructor}
1902   */
1903  public static final class Constructor extends
1904      com.google.protobuf.GeneratedMessage
1905      implements ConstructorOrBuilder {
1906    // Use Constructor.newBuilder() to construct.
1907    private Constructor(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
1908      super(builder);
1909      this.unknownFields = builder.getUnknownFields();
1910    }
1911    private Constructor(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
1912
1913    private static final Constructor defaultInstance;
1914    public static Constructor getDefaultInstance() {
1915      return defaultInstance;
1916    }
1917
1918    public Constructor getDefaultInstanceForType() {
1919      return defaultInstance;
1920    }
1921
1922    private final com.google.protobuf.UnknownFieldSet unknownFields;
1923    @java.lang.Override
1924    public final com.google.protobuf.UnknownFieldSet
1925        getUnknownFields() {
1926      return this.unknownFields;
1927    }
1928    private Constructor(
1929        com.google.protobuf.CodedInputStream input,
1930        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1931        throws com.google.protobuf.InvalidProtocolBufferException {
1932      initFields();
1933      int mutable_bitField0_ = 0;
1934      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1935          com.google.protobuf.UnknownFieldSet.newBuilder();
1936      try {
1937        boolean done = false;
1938        while (!done) {
1939          int tag = input.readTag();
1940          switch (tag) {
1941            case 0:
1942              done = true;
1943              break;
1944            default: {
1945              if (!parseUnknownField(input, unknownFields,
1946                                     extensionRegistry, tag)) {
1947                done = true;
1948              }
1949              break;
1950            }
1951            case 10: {
1952              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
1953                args_ = new java.util.ArrayList<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan>();
1954                mutable_bitField0_ |= 0x00000001;
1955              }
1956              args_.add(input.readMessage(org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.PARSER, extensionRegistry));
1957              break;
1958            }
1959          }
1960        }
1961      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1962        throw e.setUnfinishedMessage(this);
1963      } catch (java.io.IOException e) {
1964        throw new com.google.protobuf.InvalidProtocolBufferException(
1965            e.getMessage()).setUnfinishedMessage(this);
1966      } finally {
1967        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
1968          args_ = java.util.Collections.unmodifiableList(args_);
1969        }
1970        this.unknownFields = unknownFields.build();
1971        makeExtensionsImmutable();
1972      }
1973    }
1974    public static final com.google.protobuf.Descriptors.Descriptor
1975        getDescriptor() {
1976      return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Constructor_descriptor;
1977    }
1978
1979    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1980        internalGetFieldAccessorTable() {
1981      return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Constructor_fieldAccessorTable
1982          .ensureFieldAccessorsInitialized(
1983              org.apache.reef.tang.proto.InjectionPlanProto.Constructor.class, org.apache.reef.tang.proto.InjectionPlanProto.Constructor.Builder.class);
1984    }
1985
1986    public static com.google.protobuf.Parser<Constructor> PARSER =
1987        new com.google.protobuf.AbstractParser<Constructor>() {
1988      public Constructor parsePartialFrom(
1989          com.google.protobuf.CodedInputStream input,
1990          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1991          throws com.google.protobuf.InvalidProtocolBufferException {
1992        return new Constructor(input, extensionRegistry);
1993      }
1994    };
1995
1996    @java.lang.Override
1997    public com.google.protobuf.Parser<Constructor> getParserForType() {
1998      return PARSER;
1999    }
2000
2001    // repeated .InjectionPlan args = 1;
2002    public static final int ARGS_FIELD_NUMBER = 1;
2003    private java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> args_;
2004    /**
2005     * <code>repeated .InjectionPlan args = 1;</code>
2006     */
2007    public java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> getArgsList() {
2008      return args_;
2009    }
2010    /**
2011     * <code>repeated .InjectionPlan args = 1;</code>
2012     */
2013    public java.util.List<? extends org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> 
2014        getArgsOrBuilderList() {
2015      return args_;
2016    }
2017    /**
2018     * <code>repeated .InjectionPlan args = 1;</code>
2019     */
2020    public int getArgsCount() {
2021      return args_.size();
2022    }
2023    /**
2024     * <code>repeated .InjectionPlan args = 1;</code>
2025     */
2026    public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan getArgs(int index) {
2027      return args_.get(index);
2028    }
2029    /**
2030     * <code>repeated .InjectionPlan args = 1;</code>
2031     */
2032    public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder getArgsOrBuilder(
2033        int index) {
2034      return args_.get(index);
2035    }
2036
2037    private void initFields() {
2038      args_ = java.util.Collections.emptyList();
2039    }
2040    private byte memoizedIsInitialized = -1;
2041    public final boolean isInitialized() {
2042      byte isInitialized = memoizedIsInitialized;
2043      if (isInitialized != -1) return isInitialized == 1;
2044
2045      for (int i = 0; i < getArgsCount(); i++) {
2046        if (!getArgs(i).isInitialized()) {
2047          memoizedIsInitialized = 0;
2048          return false;
2049        }
2050      }
2051      memoizedIsInitialized = 1;
2052      return true;
2053    }
2054
2055    public void writeTo(com.google.protobuf.CodedOutputStream output)
2056                        throws java.io.IOException {
2057      getSerializedSize();
2058      for (int i = 0; i < args_.size(); i++) {
2059        output.writeMessage(1, args_.get(i));
2060      }
2061      getUnknownFields().writeTo(output);
2062    }
2063
2064    private int memoizedSerializedSize = -1;
2065    public int getSerializedSize() {
2066      int size = memoizedSerializedSize;
2067      if (size != -1) return size;
2068
2069      size = 0;
2070      for (int i = 0; i < args_.size(); i++) {
2071        size += com.google.protobuf.CodedOutputStream
2072          .computeMessageSize(1, args_.get(i));
2073      }
2074      size += getUnknownFields().getSerializedSize();
2075      memoizedSerializedSize = size;
2076      return size;
2077    }
2078
2079    private static final long serialVersionUID = 0L;
2080    @java.lang.Override
2081    protected java.lang.Object writeReplace()
2082        throws java.io.ObjectStreamException {
2083      return super.writeReplace();
2084    }
2085
2086    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseFrom(
2087        com.google.protobuf.ByteString data)
2088        throws com.google.protobuf.InvalidProtocolBufferException {
2089      return PARSER.parseFrom(data);
2090    }
2091    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseFrom(
2092        com.google.protobuf.ByteString data,
2093        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2094        throws com.google.protobuf.InvalidProtocolBufferException {
2095      return PARSER.parseFrom(data, extensionRegistry);
2096    }
2097    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseFrom(byte[] data)
2098        throws com.google.protobuf.InvalidProtocolBufferException {
2099      return PARSER.parseFrom(data);
2100    }
2101    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseFrom(
2102        byte[] data,
2103        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2104        throws com.google.protobuf.InvalidProtocolBufferException {
2105      return PARSER.parseFrom(data, extensionRegistry);
2106    }
2107    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseFrom(java.io.InputStream input)
2108        throws java.io.IOException {
2109      return PARSER.parseFrom(input);
2110    }
2111    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseFrom(
2112        java.io.InputStream input,
2113        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2114        throws java.io.IOException {
2115      return PARSER.parseFrom(input, extensionRegistry);
2116    }
2117    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseDelimitedFrom(java.io.InputStream input)
2118        throws java.io.IOException {
2119      return PARSER.parseDelimitedFrom(input);
2120    }
2121    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseDelimitedFrom(
2122        java.io.InputStream input,
2123        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2124        throws java.io.IOException {
2125      return PARSER.parseDelimitedFrom(input, extensionRegistry);
2126    }
2127    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseFrom(
2128        com.google.protobuf.CodedInputStream input)
2129        throws java.io.IOException {
2130      return PARSER.parseFrom(input);
2131    }
2132    public static org.apache.reef.tang.proto.InjectionPlanProto.Constructor parseFrom(
2133        com.google.protobuf.CodedInputStream input,
2134        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2135        throws java.io.IOException {
2136      return PARSER.parseFrom(input, extensionRegistry);
2137    }
2138
2139    public static Builder newBuilder() { return Builder.create(); }
2140    public Builder newBuilderForType() { return newBuilder(); }
2141    public static Builder newBuilder(org.apache.reef.tang.proto.InjectionPlanProto.Constructor prototype) {
2142      return newBuilder().mergeFrom(prototype);
2143    }
2144    public Builder toBuilder() { return newBuilder(this); }
2145
2146    @java.lang.Override
2147    protected Builder newBuilderForType(
2148        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2149      Builder builder = new Builder(parent);
2150      return builder;
2151    }
2152    /**
2153     * Protobuf type {@code Constructor}
2154     */
2155    public static final class Builder extends
2156        com.google.protobuf.GeneratedMessage.Builder<Builder>
2157       implements org.apache.reef.tang.proto.InjectionPlanProto.ConstructorOrBuilder {
2158      public static final com.google.protobuf.Descriptors.Descriptor
2159          getDescriptor() {
2160        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Constructor_descriptor;
2161      }
2162
2163      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2164          internalGetFieldAccessorTable() {
2165        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Constructor_fieldAccessorTable
2166            .ensureFieldAccessorsInitialized(
2167                org.apache.reef.tang.proto.InjectionPlanProto.Constructor.class, org.apache.reef.tang.proto.InjectionPlanProto.Constructor.Builder.class);
2168      }
2169
2170      // Construct using org.apache.reef.tang.proto.InjectionPlanProto.Constructor.newBuilder()
2171      private Builder() {
2172        maybeForceBuilderInitialization();
2173      }
2174
2175      private Builder(
2176          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2177        super(parent);
2178        maybeForceBuilderInitialization();
2179      }
2180      private void maybeForceBuilderInitialization() {
2181        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
2182          getArgsFieldBuilder();
2183        }
2184      }
2185      private static Builder create() {
2186        return new Builder();
2187      }
2188
2189      public Builder clear() {
2190        super.clear();
2191        if (argsBuilder_ == null) {
2192          args_ = java.util.Collections.emptyList();
2193          bitField0_ = (bitField0_ & ~0x00000001);
2194        } else {
2195          argsBuilder_.clear();
2196        }
2197        return this;
2198      }
2199
2200      public Builder clone() {
2201        return create().mergeFrom(buildPartial());
2202      }
2203
2204      public com.google.protobuf.Descriptors.Descriptor
2205          getDescriptorForType() {
2206        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Constructor_descriptor;
2207      }
2208
2209      public org.apache.reef.tang.proto.InjectionPlanProto.Constructor getDefaultInstanceForType() {
2210        return org.apache.reef.tang.proto.InjectionPlanProto.Constructor.getDefaultInstance();
2211      }
2212
2213      public org.apache.reef.tang.proto.InjectionPlanProto.Constructor build() {
2214        org.apache.reef.tang.proto.InjectionPlanProto.Constructor result = buildPartial();
2215        if (!result.isInitialized()) {
2216          throw newUninitializedMessageException(result);
2217        }
2218        return result;
2219      }
2220
2221      public org.apache.reef.tang.proto.InjectionPlanProto.Constructor buildPartial() {
2222        org.apache.reef.tang.proto.InjectionPlanProto.Constructor result = new org.apache.reef.tang.proto.InjectionPlanProto.Constructor(this);
2223        int from_bitField0_ = bitField0_;
2224        if (argsBuilder_ == null) {
2225          if (((bitField0_ & 0x00000001) == 0x00000001)) {
2226            args_ = java.util.Collections.unmodifiableList(args_);
2227            bitField0_ = (bitField0_ & ~0x00000001);
2228          }
2229          result.args_ = args_;
2230        } else {
2231          result.args_ = argsBuilder_.build();
2232        }
2233        onBuilt();
2234        return result;
2235      }
2236
2237      public Builder mergeFrom(com.google.protobuf.Message other) {
2238        if (other instanceof org.apache.reef.tang.proto.InjectionPlanProto.Constructor) {
2239          return mergeFrom((org.apache.reef.tang.proto.InjectionPlanProto.Constructor)other);
2240        } else {
2241          super.mergeFrom(other);
2242          return this;
2243        }
2244      }
2245
2246      public Builder mergeFrom(org.apache.reef.tang.proto.InjectionPlanProto.Constructor other) {
2247        if (other == org.apache.reef.tang.proto.InjectionPlanProto.Constructor.getDefaultInstance()) return this;
2248        if (argsBuilder_ == null) {
2249          if (!other.args_.isEmpty()) {
2250            if (args_.isEmpty()) {
2251              args_ = other.args_;
2252              bitField0_ = (bitField0_ & ~0x00000001);
2253            } else {
2254              ensureArgsIsMutable();
2255              args_.addAll(other.args_);
2256            }
2257            onChanged();
2258          }
2259        } else {
2260          if (!other.args_.isEmpty()) {
2261            if (argsBuilder_.isEmpty()) {
2262              argsBuilder_.dispose();
2263              argsBuilder_ = null;
2264              args_ = other.args_;
2265              bitField0_ = (bitField0_ & ~0x00000001);
2266              argsBuilder_ = 
2267                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
2268                   getArgsFieldBuilder() : null;
2269            } else {
2270              argsBuilder_.addAllMessages(other.args_);
2271            }
2272          }
2273        }
2274        this.mergeUnknownFields(other.getUnknownFields());
2275        return this;
2276      }
2277
2278      public final boolean isInitialized() {
2279        for (int i = 0; i < getArgsCount(); i++) {
2280          if (!getArgs(i).isInitialized()) {
2281            
2282            return false;
2283          }
2284        }
2285        return true;
2286      }
2287
2288      public Builder mergeFrom(
2289          com.google.protobuf.CodedInputStream input,
2290          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2291          throws java.io.IOException {
2292        org.apache.reef.tang.proto.InjectionPlanProto.Constructor parsedMessage = null;
2293        try {
2294          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2295        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2296          parsedMessage = (org.apache.reef.tang.proto.InjectionPlanProto.Constructor) e.getUnfinishedMessage();
2297          throw e;
2298        } finally {
2299          if (parsedMessage != null) {
2300            mergeFrom(parsedMessage);
2301          }
2302        }
2303        return this;
2304      }
2305      private int bitField0_;
2306
2307      // repeated .InjectionPlan args = 1;
2308      private java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> args_ =
2309        java.util.Collections.emptyList();
2310      private void ensureArgsIsMutable() {
2311        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
2312          args_ = new java.util.ArrayList<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan>(args_);
2313          bitField0_ |= 0x00000001;
2314         }
2315      }
2316
2317      private com.google.protobuf.RepeatedFieldBuilder<
2318          org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> argsBuilder_;
2319
2320      /**
2321       * <code>repeated .InjectionPlan args = 1;</code>
2322       */
2323      public java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> getArgsList() {
2324        if (argsBuilder_ == null) {
2325          return java.util.Collections.unmodifiableList(args_);
2326        } else {
2327          return argsBuilder_.getMessageList();
2328        }
2329      }
2330      /**
2331       * <code>repeated .InjectionPlan args = 1;</code>
2332       */
2333      public int getArgsCount() {
2334        if (argsBuilder_ == null) {
2335          return args_.size();
2336        } else {
2337          return argsBuilder_.getCount();
2338        }
2339      }
2340      /**
2341       * <code>repeated .InjectionPlan args = 1;</code>
2342       */
2343      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan getArgs(int index) {
2344        if (argsBuilder_ == null) {
2345          return args_.get(index);
2346        } else {
2347          return argsBuilder_.getMessage(index);
2348        }
2349      }
2350      /**
2351       * <code>repeated .InjectionPlan args = 1;</code>
2352       */
2353      public Builder setArgs(
2354          int index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan value) {
2355        if (argsBuilder_ == null) {
2356          if (value == null) {
2357            throw new NullPointerException();
2358          }
2359          ensureArgsIsMutable();
2360          args_.set(index, value);
2361          onChanged();
2362        } else {
2363          argsBuilder_.setMessage(index, value);
2364        }
2365        return this;
2366      }
2367      /**
2368       * <code>repeated .InjectionPlan args = 1;</code>
2369       */
2370      public Builder setArgs(
2371          int index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder builderForValue) {
2372        if (argsBuilder_ == null) {
2373          ensureArgsIsMutable();
2374          args_.set(index, builderForValue.build());
2375          onChanged();
2376        } else {
2377          argsBuilder_.setMessage(index, builderForValue.build());
2378        }
2379        return this;
2380      }
2381      /**
2382       * <code>repeated .InjectionPlan args = 1;</code>
2383       */
2384      public Builder addArgs(org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan value) {
2385        if (argsBuilder_ == null) {
2386          if (value == null) {
2387            throw new NullPointerException();
2388          }
2389          ensureArgsIsMutable();
2390          args_.add(value);
2391          onChanged();
2392        } else {
2393          argsBuilder_.addMessage(value);
2394        }
2395        return this;
2396      }
2397      /**
2398       * <code>repeated .InjectionPlan args = 1;</code>
2399       */
2400      public Builder addArgs(
2401          int index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan value) {
2402        if (argsBuilder_ == null) {
2403          if (value == null) {
2404            throw new NullPointerException();
2405          }
2406          ensureArgsIsMutable();
2407          args_.add(index, value);
2408          onChanged();
2409        } else {
2410          argsBuilder_.addMessage(index, value);
2411        }
2412        return this;
2413      }
2414      /**
2415       * <code>repeated .InjectionPlan args = 1;</code>
2416       */
2417      public Builder addArgs(
2418          org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder builderForValue) {
2419        if (argsBuilder_ == null) {
2420          ensureArgsIsMutable();
2421          args_.add(builderForValue.build());
2422          onChanged();
2423        } else {
2424          argsBuilder_.addMessage(builderForValue.build());
2425        }
2426        return this;
2427      }
2428      /**
2429       * <code>repeated .InjectionPlan args = 1;</code>
2430       */
2431      public Builder addArgs(
2432          int index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder builderForValue) {
2433        if (argsBuilder_ == null) {
2434          ensureArgsIsMutable();
2435          args_.add(index, builderForValue.build());
2436          onChanged();
2437        } else {
2438          argsBuilder_.addMessage(index, builderForValue.build());
2439        }
2440        return this;
2441      }
2442      /**
2443       * <code>repeated .InjectionPlan args = 1;</code>
2444       */
2445      public Builder addAllArgs(
2446          java.lang.Iterable<? extends org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan> values) {
2447        if (argsBuilder_ == null) {
2448          ensureArgsIsMutable();
2449          super.addAll(values, args_);
2450          onChanged();
2451        } else {
2452          argsBuilder_.addAllMessages(values);
2453        }
2454        return this;
2455      }
2456      /**
2457       * <code>repeated .InjectionPlan args = 1;</code>
2458       */
2459      public Builder clearArgs() {
2460        if (argsBuilder_ == null) {
2461          args_ = java.util.Collections.emptyList();
2462          bitField0_ = (bitField0_ & ~0x00000001);
2463          onChanged();
2464        } else {
2465          argsBuilder_.clear();
2466        }
2467        return this;
2468      }
2469      /**
2470       * <code>repeated .InjectionPlan args = 1;</code>
2471       */
2472      public Builder removeArgs(int index) {
2473        if (argsBuilder_ == null) {
2474          ensureArgsIsMutable();
2475          args_.remove(index);
2476          onChanged();
2477        } else {
2478          argsBuilder_.remove(index);
2479        }
2480        return this;
2481      }
2482      /**
2483       * <code>repeated .InjectionPlan args = 1;</code>
2484       */
2485      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder getArgsBuilder(
2486          int index) {
2487        return getArgsFieldBuilder().getBuilder(index);
2488      }
2489      /**
2490       * <code>repeated .InjectionPlan args = 1;</code>
2491       */
2492      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder getArgsOrBuilder(
2493          int index) {
2494        if (argsBuilder_ == null) {
2495          return args_.get(index);  } else {
2496          return argsBuilder_.getMessageOrBuilder(index);
2497        }
2498      }
2499      /**
2500       * <code>repeated .InjectionPlan args = 1;</code>
2501       */
2502      public java.util.List<? extends org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> 
2503           getArgsOrBuilderList() {
2504        if (argsBuilder_ != null) {
2505          return argsBuilder_.getMessageOrBuilderList();
2506        } else {
2507          return java.util.Collections.unmodifiableList(args_);
2508        }
2509      }
2510      /**
2511       * <code>repeated .InjectionPlan args = 1;</code>
2512       */
2513      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder addArgsBuilder() {
2514        return getArgsFieldBuilder().addBuilder(
2515            org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.getDefaultInstance());
2516      }
2517      /**
2518       * <code>repeated .InjectionPlan args = 1;</code>
2519       */
2520      public org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder addArgsBuilder(
2521          int index) {
2522        return getArgsFieldBuilder().addBuilder(
2523            index, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.getDefaultInstance());
2524      }
2525      /**
2526       * <code>repeated .InjectionPlan args = 1;</code>
2527       */
2528      public java.util.List<org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder> 
2529           getArgsBuilderList() {
2530        return getArgsFieldBuilder().getBuilderList();
2531      }
2532      private com.google.protobuf.RepeatedFieldBuilder<
2533          org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder> 
2534          getArgsFieldBuilder() {
2535        if (argsBuilder_ == null) {
2536          argsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
2537              org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlan.Builder, org.apache.reef.tang.proto.InjectionPlanProto.InjectionPlanOrBuilder>(
2538                  args_,
2539                  ((bitField0_ & 0x00000001) == 0x00000001),
2540                  getParentForChildren(),
2541                  isClean());
2542          args_ = null;
2543        }
2544        return argsBuilder_;
2545      }
2546
2547      // @@protoc_insertion_point(builder_scope:Constructor)
2548    }
2549
2550    static {
2551      defaultInstance = new Constructor(true);
2552      defaultInstance.initFields();
2553    }
2554
2555    // @@protoc_insertion_point(class_scope:Constructor)
2556  }
2557
2558  public interface InstanceOrBuilder
2559      extends com.google.protobuf.MessageOrBuilder {
2560
2561    // required string value = 1;
2562    /**
2563     * <code>required string value = 1;</code>
2564     */
2565    boolean hasValue();
2566    /**
2567     * <code>required string value = 1;</code>
2568     */
2569    java.lang.String getValue();
2570    /**
2571     * <code>required string value = 1;</code>
2572     */
2573    com.google.protobuf.ByteString
2574        getValueBytes();
2575  }
2576  /**
2577   * Protobuf type {@code Instance}
2578   */
2579  public static final class Instance extends
2580      com.google.protobuf.GeneratedMessage
2581      implements InstanceOrBuilder {
2582    // Use Instance.newBuilder() to construct.
2583    private Instance(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
2584      super(builder);
2585      this.unknownFields = builder.getUnknownFields();
2586    }
2587    private Instance(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
2588
2589    private static final Instance defaultInstance;
2590    public static Instance getDefaultInstance() {
2591      return defaultInstance;
2592    }
2593
2594    public Instance getDefaultInstanceForType() {
2595      return defaultInstance;
2596    }
2597
2598    private final com.google.protobuf.UnknownFieldSet unknownFields;
2599    @java.lang.Override
2600    public final com.google.protobuf.UnknownFieldSet
2601        getUnknownFields() {
2602      return this.unknownFields;
2603    }
2604    private Instance(
2605        com.google.protobuf.CodedInputStream input,
2606        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2607        throws com.google.protobuf.InvalidProtocolBufferException {
2608      initFields();
2609      int mutable_bitField0_ = 0;
2610      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
2611          com.google.protobuf.UnknownFieldSet.newBuilder();
2612      try {
2613        boolean done = false;
2614        while (!done) {
2615          int tag = input.readTag();
2616          switch (tag) {
2617            case 0:
2618              done = true;
2619              break;
2620            default: {
2621              if (!parseUnknownField(input, unknownFields,
2622                                     extensionRegistry, tag)) {
2623                done = true;
2624              }
2625              break;
2626            }
2627            case 10: {
2628              bitField0_ |= 0x00000001;
2629              value_ = input.readBytes();
2630              break;
2631            }
2632          }
2633        }
2634      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2635        throw e.setUnfinishedMessage(this);
2636      } catch (java.io.IOException e) {
2637        throw new com.google.protobuf.InvalidProtocolBufferException(
2638            e.getMessage()).setUnfinishedMessage(this);
2639      } finally {
2640        this.unknownFields = unknownFields.build();
2641        makeExtensionsImmutable();
2642      }
2643    }
2644    public static final com.google.protobuf.Descriptors.Descriptor
2645        getDescriptor() {
2646      return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Instance_descriptor;
2647    }
2648
2649    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2650        internalGetFieldAccessorTable() {
2651      return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Instance_fieldAccessorTable
2652          .ensureFieldAccessorsInitialized(
2653              org.apache.reef.tang.proto.InjectionPlanProto.Instance.class, org.apache.reef.tang.proto.InjectionPlanProto.Instance.Builder.class);
2654    }
2655
2656    public static com.google.protobuf.Parser<Instance> PARSER =
2657        new com.google.protobuf.AbstractParser<Instance>() {
2658      public Instance parsePartialFrom(
2659          com.google.protobuf.CodedInputStream input,
2660          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2661          throws com.google.protobuf.InvalidProtocolBufferException {
2662        return new Instance(input, extensionRegistry);
2663      }
2664    };
2665
2666    @java.lang.Override
2667    public com.google.protobuf.Parser<Instance> getParserForType() {
2668      return PARSER;
2669    }
2670
2671    private int bitField0_;
2672    // required string value = 1;
2673    public static final int VALUE_FIELD_NUMBER = 1;
2674    private java.lang.Object value_;
2675    /**
2676     * <code>required string value = 1;</code>
2677     */
2678    public boolean hasValue() {
2679      return ((bitField0_ & 0x00000001) == 0x00000001);
2680    }
2681    /**
2682     * <code>required string value = 1;</code>
2683     */
2684    public java.lang.String getValue() {
2685      java.lang.Object ref = value_;
2686      if (ref instanceof java.lang.String) {
2687        return (java.lang.String) ref;
2688      } else {
2689        com.google.protobuf.ByteString bs = 
2690            (com.google.protobuf.ByteString) ref;
2691        java.lang.String s = bs.toStringUtf8();
2692        if (bs.isValidUtf8()) {
2693          value_ = s;
2694        }
2695        return s;
2696      }
2697    }
2698    /**
2699     * <code>required string value = 1;</code>
2700     */
2701    public com.google.protobuf.ByteString
2702        getValueBytes() {
2703      java.lang.Object ref = value_;
2704      if (ref instanceof java.lang.String) {
2705        com.google.protobuf.ByteString b = 
2706            com.google.protobuf.ByteString.copyFromUtf8(
2707                (java.lang.String) ref);
2708        value_ = b;
2709        return b;
2710      } else {
2711        return (com.google.protobuf.ByteString) ref;
2712      }
2713    }
2714
2715    private void initFields() {
2716      value_ = "";
2717    }
2718    private byte memoizedIsInitialized = -1;
2719    public final boolean isInitialized() {
2720      byte isInitialized = memoizedIsInitialized;
2721      if (isInitialized != -1) return isInitialized == 1;
2722
2723      if (!hasValue()) {
2724        memoizedIsInitialized = 0;
2725        return false;
2726      }
2727      memoizedIsInitialized = 1;
2728      return true;
2729    }
2730
2731    public void writeTo(com.google.protobuf.CodedOutputStream output)
2732                        throws java.io.IOException {
2733      getSerializedSize();
2734      if (((bitField0_ & 0x00000001) == 0x00000001)) {
2735        output.writeBytes(1, getValueBytes());
2736      }
2737      getUnknownFields().writeTo(output);
2738    }
2739
2740    private int memoizedSerializedSize = -1;
2741    public int getSerializedSize() {
2742      int size = memoizedSerializedSize;
2743      if (size != -1) return size;
2744
2745      size = 0;
2746      if (((bitField0_ & 0x00000001) == 0x00000001)) {
2747        size += com.google.protobuf.CodedOutputStream
2748          .computeBytesSize(1, getValueBytes());
2749      }
2750      size += getUnknownFields().getSerializedSize();
2751      memoizedSerializedSize = size;
2752      return size;
2753    }
2754
2755    private static final long serialVersionUID = 0L;
2756    @java.lang.Override
2757    protected java.lang.Object writeReplace()
2758        throws java.io.ObjectStreamException {
2759      return super.writeReplace();
2760    }
2761
2762    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseFrom(
2763        com.google.protobuf.ByteString data)
2764        throws com.google.protobuf.InvalidProtocolBufferException {
2765      return PARSER.parseFrom(data);
2766    }
2767    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseFrom(
2768        com.google.protobuf.ByteString data,
2769        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2770        throws com.google.protobuf.InvalidProtocolBufferException {
2771      return PARSER.parseFrom(data, extensionRegistry);
2772    }
2773    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseFrom(byte[] data)
2774        throws com.google.protobuf.InvalidProtocolBufferException {
2775      return PARSER.parseFrom(data);
2776    }
2777    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseFrom(
2778        byte[] data,
2779        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2780        throws com.google.protobuf.InvalidProtocolBufferException {
2781      return PARSER.parseFrom(data, extensionRegistry);
2782    }
2783    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseFrom(java.io.InputStream input)
2784        throws java.io.IOException {
2785      return PARSER.parseFrom(input);
2786    }
2787    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseFrom(
2788        java.io.InputStream input,
2789        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2790        throws java.io.IOException {
2791      return PARSER.parseFrom(input, extensionRegistry);
2792    }
2793    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseDelimitedFrom(java.io.InputStream input)
2794        throws java.io.IOException {
2795      return PARSER.parseDelimitedFrom(input);
2796    }
2797    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseDelimitedFrom(
2798        java.io.InputStream input,
2799        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2800        throws java.io.IOException {
2801      return PARSER.parseDelimitedFrom(input, extensionRegistry);
2802    }
2803    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseFrom(
2804        com.google.protobuf.CodedInputStream input)
2805        throws java.io.IOException {
2806      return PARSER.parseFrom(input);
2807    }
2808    public static org.apache.reef.tang.proto.InjectionPlanProto.Instance parseFrom(
2809        com.google.protobuf.CodedInputStream input,
2810        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2811        throws java.io.IOException {
2812      return PARSER.parseFrom(input, extensionRegistry);
2813    }
2814
2815    public static Builder newBuilder() { return Builder.create(); }
2816    public Builder newBuilderForType() { return newBuilder(); }
2817    public static Builder newBuilder(org.apache.reef.tang.proto.InjectionPlanProto.Instance prototype) {
2818      return newBuilder().mergeFrom(prototype);
2819    }
2820    public Builder toBuilder() { return newBuilder(this); }
2821
2822    @java.lang.Override
2823    protected Builder newBuilderForType(
2824        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2825      Builder builder = new Builder(parent);
2826      return builder;
2827    }
2828    /**
2829     * Protobuf type {@code Instance}
2830     */
2831    public static final class Builder extends
2832        com.google.protobuf.GeneratedMessage.Builder<Builder>
2833       implements org.apache.reef.tang.proto.InjectionPlanProto.InstanceOrBuilder {
2834      public static final com.google.protobuf.Descriptors.Descriptor
2835          getDescriptor() {
2836        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Instance_descriptor;
2837      }
2838
2839      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2840          internalGetFieldAccessorTable() {
2841        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Instance_fieldAccessorTable
2842            .ensureFieldAccessorsInitialized(
2843                org.apache.reef.tang.proto.InjectionPlanProto.Instance.class, org.apache.reef.tang.proto.InjectionPlanProto.Instance.Builder.class);
2844      }
2845
2846      // Construct using org.apache.reef.tang.proto.InjectionPlanProto.Instance.newBuilder()
2847      private Builder() {
2848        maybeForceBuilderInitialization();
2849      }
2850
2851      private Builder(
2852          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2853        super(parent);
2854        maybeForceBuilderInitialization();
2855      }
2856      private void maybeForceBuilderInitialization() {
2857        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
2858        }
2859      }
2860      private static Builder create() {
2861        return new Builder();
2862      }
2863
2864      public Builder clear() {
2865        super.clear();
2866        value_ = "";
2867        bitField0_ = (bitField0_ & ~0x00000001);
2868        return this;
2869      }
2870
2871      public Builder clone() {
2872        return create().mergeFrom(buildPartial());
2873      }
2874
2875      public com.google.protobuf.Descriptors.Descriptor
2876          getDescriptorForType() {
2877        return org.apache.reef.tang.proto.InjectionPlanProto.internal_static_Instance_descriptor;
2878      }
2879
2880      public org.apache.reef.tang.proto.InjectionPlanProto.Instance getDefaultInstanceForType() {
2881        return org.apache.reef.tang.proto.InjectionPlanProto.Instance.getDefaultInstance();
2882      }
2883
2884      public org.apache.reef.tang.proto.InjectionPlanProto.Instance build() {
2885        org.apache.reef.tang.proto.InjectionPlanProto.Instance result = buildPartial();
2886        if (!result.isInitialized()) {
2887          throw newUninitializedMessageException(result);
2888        }
2889        return result;
2890      }
2891
2892      public org.apache.reef.tang.proto.InjectionPlanProto.Instance buildPartial() {
2893        org.apache.reef.tang.proto.InjectionPlanProto.Instance result = new org.apache.reef.tang.proto.InjectionPlanProto.Instance(this);
2894        int from_bitField0_ = bitField0_;
2895        int to_bitField0_ = 0;
2896        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2897          to_bitField0_ |= 0x00000001;
2898        }
2899        result.value_ = value_;
2900        result.bitField0_ = to_bitField0_;
2901        onBuilt();
2902        return result;
2903      }
2904
2905      public Builder mergeFrom(com.google.protobuf.Message other) {
2906        if (other instanceof org.apache.reef.tang.proto.InjectionPlanProto.Instance) {
2907          return mergeFrom((org.apache.reef.tang.proto.InjectionPlanProto.Instance)other);
2908        } else {
2909          super.mergeFrom(other);
2910          return this;
2911        }
2912      }
2913
2914      public Builder mergeFrom(org.apache.reef.tang.proto.InjectionPlanProto.Instance other) {
2915        if (other == org.apache.reef.tang.proto.InjectionPlanProto.Instance.getDefaultInstance()) return this;
2916        if (other.hasValue()) {
2917          bitField0_ |= 0x00000001;
2918          value_ = other.value_;
2919          onChanged();
2920        }
2921        this.mergeUnknownFields(other.getUnknownFields());
2922        return this;
2923      }
2924
2925      public final boolean isInitialized() {
2926        if (!hasValue()) {
2927          
2928          return false;
2929        }
2930        return true;
2931      }
2932
2933      public Builder mergeFrom(
2934          com.google.protobuf.CodedInputStream input,
2935          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2936          throws java.io.IOException {
2937        org.apache.reef.tang.proto.InjectionPlanProto.Instance parsedMessage = null;
2938        try {
2939          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2940        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2941          parsedMessage = (org.apache.reef.tang.proto.InjectionPlanProto.Instance) e.getUnfinishedMessage();
2942          throw e;
2943        } finally {
2944          if (parsedMessage != null) {
2945            mergeFrom(parsedMessage);
2946          }
2947        }
2948        return this;
2949      }
2950      private int bitField0_;
2951
2952      // required string value = 1;
2953      private java.lang.Object value_ = "";
2954      /**
2955       * <code>required string value = 1;</code>
2956       */
2957      public boolean hasValue() {
2958        return ((bitField0_ & 0x00000001) == 0x00000001);
2959      }
2960      /**
2961       * <code>required string value = 1;</code>
2962       */
2963      public java.lang.String getValue() {
2964        java.lang.Object ref = value_;
2965        if (!(ref instanceof java.lang.String)) {
2966          java.lang.String s = ((com.google.protobuf.ByteString) ref)
2967              .toStringUtf8();
2968          value_ = s;
2969          return s;
2970        } else {
2971          return (java.lang.String) ref;
2972        }
2973      }
2974      /**
2975       * <code>required string value = 1;</code>
2976       */
2977      public com.google.protobuf.ByteString
2978          getValueBytes() {
2979        java.lang.Object ref = value_;
2980        if (ref instanceof String) {
2981          com.google.protobuf.ByteString b = 
2982              com.google.protobuf.ByteString.copyFromUtf8(
2983                  (java.lang.String) ref);
2984          value_ = b;
2985          return b;
2986        } else {
2987          return (com.google.protobuf.ByteString) ref;
2988        }
2989      }
2990      /**
2991       * <code>required string value = 1;</code>
2992       */
2993      public Builder setValue(
2994          java.lang.String value) {
2995        if (value == null) {
2996    throw new NullPointerException();
2997  }
2998  bitField0_ |= 0x00000001;
2999        value_ = value;
3000        onChanged();
3001        return this;
3002      }
3003      /**
3004       * <code>required string value = 1;</code>
3005       */
3006      public Builder clearValue() {
3007        bitField0_ = (bitField0_ & ~0x00000001);
3008        value_ = getDefaultInstance().getValue();
3009        onChanged();
3010        return this;
3011      }
3012      /**
3013       * <code>required string value = 1;</code>
3014       */
3015      public Builder setValueBytes(
3016          com.google.protobuf.ByteString value) {
3017        if (value == null) {
3018    throw new NullPointerException();
3019  }
3020  bitField0_ |= 0x00000001;
3021        value_ = value;
3022        onChanged();
3023        return this;
3024      }
3025
3026      // @@protoc_insertion_point(builder_scope:Instance)
3027    }
3028
3029    static {
3030      defaultInstance = new Instance(true);
3031      defaultInstance.initFields();
3032    }
3033
3034    // @@protoc_insertion_point(class_scope:Instance)
3035  }
3036
3037  private static com.google.protobuf.Descriptors.Descriptor
3038    internal_static_InjectionPlan_descriptor;
3039  private static
3040    com.google.protobuf.GeneratedMessage.FieldAccessorTable
3041      internal_static_InjectionPlan_fieldAccessorTable;
3042  private static com.google.protobuf.Descriptors.Descriptor
3043    internal_static_Subplan_descriptor;
3044  private static
3045    com.google.protobuf.GeneratedMessage.FieldAccessorTable
3046      internal_static_Subplan_fieldAccessorTable;
3047  private static com.google.protobuf.Descriptors.Descriptor
3048    internal_static_Constructor_descriptor;
3049  private static
3050    com.google.protobuf.GeneratedMessage.FieldAccessorTable
3051      internal_static_Constructor_fieldAccessorTable;
3052  private static com.google.protobuf.Descriptors.Descriptor
3053    internal_static_Instance_descriptor;
3054  private static
3055    com.google.protobuf.GeneratedMessage.FieldAccessorTable
3056      internal_static_Instance_fieldAccessorTable;
3057
3058  public static com.google.protobuf.Descriptors.FileDescriptor
3059      getDescriptor() {
3060    return descriptor;
3061  }
3062  private static com.google.protobuf.Descriptors.FileDescriptor
3063      descriptor;
3064  static {
3065    java.lang.String[] descriptorData = {
3066      "\n\024injection_plan.proto\"x\n\rInjectionPlan\022" +
3067      "\014\n\004name\030\001 \002(\t\022!\n\013constructor\030\002 \001(\0132\014.Con" +
3068      "structor\022\033\n\010instance\030\003 \001(\0132\t.Instance\022\031\n" +
3069      "\007subplan\030\004 \001(\0132\010.Subplan\"?\n\007Subplan\022\025\n\rs" +
3070      "elected_plan\030\001 \001(\021\022\035\n\005plans\030\002 \003(\0132\016.Inje" +
3071      "ctionPlan\"+\n\013Constructor\022\034\n\004args\030\001 \003(\0132\016" +
3072      ".InjectionPlan\"\031\n\010Instance\022\r\n\005value\030\001 \002(" +
3073      "\tB0\n\032org.apache.reef.tang.protoB\022Injecti" +
3074      "onPlanProto"
3075    };
3076    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
3077      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
3078        public com.google.protobuf.ExtensionRegistry assignDescriptors(
3079            com.google.protobuf.Descriptors.FileDescriptor root) {
3080          descriptor = root;
3081          internal_static_InjectionPlan_descriptor =
3082            getDescriptor().getMessageTypes().get(0);
3083          internal_static_InjectionPlan_fieldAccessorTable = new
3084            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
3085              internal_static_InjectionPlan_descriptor,
3086              new java.lang.String[] { "Name", "Constructor", "Instance", "Subplan", });
3087          internal_static_Subplan_descriptor =
3088            getDescriptor().getMessageTypes().get(1);
3089          internal_static_Subplan_fieldAccessorTable = new
3090            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
3091              internal_static_Subplan_descriptor,
3092              new java.lang.String[] { "SelectedPlan", "Plans", });
3093          internal_static_Constructor_descriptor =
3094            getDescriptor().getMessageTypes().get(2);
3095          internal_static_Constructor_fieldAccessorTable = new
3096            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
3097              internal_static_Constructor_descriptor,
3098              new java.lang.String[] { "Args", });
3099          internal_static_Instance_descriptor =
3100            getDescriptor().getMessageTypes().get(3);
3101          internal_static_Instance_fieldAccessorTable = new
3102            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
3103              internal_static_Instance_descriptor,
3104              new java.lang.String[] { "Value", });
3105          return null;
3106        }
3107      };
3108    com.google.protobuf.Descriptors.FileDescriptor
3109      .internalBuildGeneratedFileFrom(descriptorData,
3110        new com.google.protobuf.Descriptors.FileDescriptor[] {
3111        }, assigner);
3112  }
3113
3114  // @@protoc_insertion_point(outer_class_scope)
3115}