http://git-wip-us.apache.org/repos/asf/incubator-myriad/blob/16467f39/myriad-commons/src/main/java/org/apache/mesos/v1/resource_provider/Protos.java
----------------------------------------------------------------------
diff --git 
a/myriad-commons/src/main/java/org/apache/mesos/v1/resource_provider/Protos.java
 
b/myriad-commons/src/main/java/org/apache/mesos/v1/resource_provider/Protos.java
new file mode 100644
index 0000000..18c0ce0
--- /dev/null
+++ 
b/myriad-commons/src/main/java/org/apache/mesos/v1/resource_provider/Protos.java
@@ -0,0 +1,5069 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: mesos/v1/resource_provider/resource_provider.proto
+
+package org.apache.mesos.v1.resource_provider;
+
+public final class Protos {
+  private Protos() {}
+  public static void registerAllExtensions(
+      com.google.protobuf.ExtensionRegistry registry) {
+  }
+  public interface EventOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // optional .mesos.v1.resource_provider.Event.Type type = 1;
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Type type = 1;</code>
+     */
+    boolean hasType();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Type type = 1;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Event.Type getType();
+
+    // optional .mesos.v1.resource_provider.Event.Subscribed subscribed = 2;
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Subscribed subscribed 
= 2;</code>
+     */
+    boolean hasSubscribed();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Subscribed subscribed 
= 2;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
getSubscribed();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Subscribed subscribed 
= 2;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Event.SubscribedOrBuilder 
getSubscribedOrBuilder();
+
+    // optional .mesos.v1.resource_provider.Event.Operation operation = 3;
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Operation operation = 
3;</code>
+     */
+    boolean hasOperation();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Operation operation = 
3;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
getOperation();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Operation operation = 
3;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Event.OperationOrBuilder 
getOperationOrBuilder();
+  }
+  /**
+   * Protobuf type {@code mesos.v1.resource_provider.Event}
+   */
+  public static final class Event extends
+      com.google.protobuf.GeneratedMessage
+      implements EventOrBuilder {
+    // Use Event.newBuilder() to construct.
+    private Event(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private Event(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final Event defaultInstance;
+    public static Event getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public Event getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private Event(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 8: {
+              int rawValue = input.readEnum();
+              org.apache.mesos.v1.resource_provider.Protos.Event.Type value = 
org.apache.mesos.v1.resource_provider.Protos.Event.Type.valueOf(rawValue);
+              if (value == null) {
+                unknownFields.mergeVarintField(1, rawValue);
+              } else {
+                bitField0_ |= 0x00000001;
+                type_ = value;
+              }
+              break;
+            }
+            case 18: {
+              
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.Builder 
subBuilder = null;
+              if (((bitField0_ & 0x00000002) == 0x00000002)) {
+                subBuilder = subscribed_.toBuilder();
+              }
+              subscribed_ = 
input.readMessage(org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(subscribed_);
+                subscribed_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000002;
+              break;
+            }
+            case 26: {
+              
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.Builder subBuilder 
= null;
+              if (((bitField0_ & 0x00000004) == 0x00000004)) {
+                subBuilder = operation_.toBuilder();
+              }
+              operation_ = 
input.readMessage(org.apache.mesos.v1.resource_provider.Protos.Event.Operation.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(operation_);
+                operation_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000004;
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e.getMessage()).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.mesos.v1.resource_provider.Protos.Event.class, 
org.apache.mesos.v1.resource_provider.Protos.Event.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<Event> PARSER =
+        new com.google.protobuf.AbstractParser<Event>() {
+      public Event parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new Event(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<Event> getParserForType() {
+      return PARSER;
+    }
+
+    /**
+     * Protobuf enum {@code mesos.v1.resource_provider.Event.Type}
+     */
+    public enum Type
+        implements com.google.protobuf.ProtocolMessageEnum {
+      /**
+       * <code>UNKNOWN = 0;</code>
+       *
+       * <pre>
+       * This must be the first enum value in this list, to
+       * ensure that if 'type' is not set, the default value
+       * is UNKNOWN. This enables enum values to be added
+       * in a backwards-compatible way. See: MESOS-4997.
+       * </pre>
+       */
+      UNKNOWN(0, 0),
+      /**
+       * <code>SUBSCRIBED = 1;</code>
+       *
+       * <pre>
+       * See 'Subscribed' below.
+       * </pre>
+       */
+      SUBSCRIBED(1, 1),
+      /**
+       * <code>OPERATION = 2;</code>
+       *
+       * <pre>
+       * See 'Operation' below.
+       * </pre>
+       */
+      OPERATION(2, 2),
+      ;
+
+      /**
+       * <code>UNKNOWN = 0;</code>
+       *
+       * <pre>
+       * This must be the first enum value in this list, to
+       * ensure that if 'type' is not set, the default value
+       * is UNKNOWN. This enables enum values to be added
+       * in a backwards-compatible way. See: MESOS-4997.
+       * </pre>
+       */
+      public static final int UNKNOWN_VALUE = 0;
+      /**
+       * <code>SUBSCRIBED = 1;</code>
+       *
+       * <pre>
+       * See 'Subscribed' below.
+       * </pre>
+       */
+      public static final int SUBSCRIBED_VALUE = 1;
+      /**
+       * <code>OPERATION = 2;</code>
+       *
+       * <pre>
+       * See 'Operation' below.
+       * </pre>
+       */
+      public static final int OPERATION_VALUE = 2;
+
+
+      public final int getNumber() { return value; }
+
+      public static Type valueOf(int value) {
+        switch (value) {
+          case 0: return UNKNOWN;
+          case 1: return SUBSCRIBED;
+          case 2: return OPERATION;
+          default: return null;
+        }
+      }
+
+      public static com.google.protobuf.Internal.EnumLiteMap<Type>
+          internalGetValueMap() {
+        return internalValueMap;
+      }
+      private static com.google.protobuf.Internal.EnumLiteMap<Type>
+          internalValueMap =
+            new com.google.protobuf.Internal.EnumLiteMap<Type>() {
+              public Type findValueByNumber(int number) {
+                return Type.valueOf(number);
+              }
+            };
+
+      public final com.google.protobuf.Descriptors.EnumValueDescriptor
+          getValueDescriptor() {
+        return getDescriptor().getValues().get(index);
+      }
+      public final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptorForType() {
+        return getDescriptor();
+      }
+      public static final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptor() {
+        return 
org.apache.mesos.v1.resource_provider.Protos.Event.getDescriptor().getEnumTypes().get(0);
+      }
+
+      private static final Type[] VALUES = values();
+
+      public static Type valueOf(
+          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+        if (desc.getType() != getDescriptor()) {
+          throw new java.lang.IllegalArgumentException(
+            "EnumValueDescriptor is not for this type.");
+        }
+        return VALUES[desc.getIndex()];
+      }
+
+      private final int index;
+      private final int value;
+
+      private Type(int index, int value) {
+        this.index = index;
+        this.value = value;
+      }
+
+      // 
@@protoc_insertion_point(enum_scope:mesos.v1.resource_provider.Event.Type)
+    }
+
+    public interface SubscribedOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
+
+      // required .mesos.v1.ResourceProviderID provider_id = 1;
+      /**
+       * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+       */
+      boolean hasProviderId();
+      /**
+       * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+       */
+      org.apache.mesos.v1.Protos.ResourceProviderID getProviderId();
+      /**
+       * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+       */
+      org.apache.mesos.v1.Protos.ResourceProviderIDOrBuilder 
getProviderIdOrBuilder();
+    }
+    /**
+     * Protobuf type {@code mesos.v1.resource_provider.Event.Subscribed}
+     *
+     * <pre>
+     * First event received by the resource provider when it subscribes
+     * to the master.
+     * </pre>
+     */
+    public static final class Subscribed extends
+        com.google.protobuf.GeneratedMessage
+        implements SubscribedOrBuilder {
+      // Use Subscribed.newBuilder() to construct.
+      private Subscribed(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
+        super(builder);
+        this.unknownFields = builder.getUnknownFields();
+      }
+      private Subscribed(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+      private static final Subscribed defaultInstance;
+      public static Subscribed getDefaultInstance() {
+        return defaultInstance;
+      }
+
+      public Subscribed getDefaultInstanceForType() {
+        return defaultInstance;
+      }
+
+      private final com.google.protobuf.UnknownFieldSet unknownFields;
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet
+          getUnknownFields() {
+        return this.unknownFields;
+      }
+      private Subscribed(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        initFields();
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+            com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              default: {
+                if (!parseUnknownField(input, unknownFields,
+                                       extensionRegistry, tag)) {
+                  done = true;
+                }
+                break;
+              }
+              case 10: {
+                org.apache.mesos.v1.Protos.ResourceProviderID.Builder 
subBuilder = null;
+                if (((bitField0_ & 0x00000001) == 0x00000001)) {
+                  subBuilder = providerId_.toBuilder();
+                }
+                providerId_ = 
input.readMessage(org.apache.mesos.v1.Protos.ResourceProviderID.PARSER, 
extensionRegistry);
+                if (subBuilder != null) {
+                  subBuilder.mergeFrom(providerId_);
+                  providerId_ = subBuilder.buildPartial();
+                }
+                bitField0_ |= 0x00000001;
+                break;
+              }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(
+              e.getMessage()).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Subscribed_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Subscribed_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.class, 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.Builder.class);
+      }
+
+      public static com.google.protobuf.Parser<Subscribed> PARSER =
+          new com.google.protobuf.AbstractParser<Subscribed>() {
+        public Subscribed parsePartialFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws com.google.protobuf.InvalidProtocolBufferException {
+          return new Subscribed(input, extensionRegistry);
+        }
+      };
+
+      @java.lang.Override
+      public com.google.protobuf.Parser<Subscribed> getParserForType() {
+        return PARSER;
+      }
+
+      private int bitField0_;
+      // required .mesos.v1.ResourceProviderID provider_id = 1;
+      public static final int PROVIDER_ID_FIELD_NUMBER = 1;
+      private org.apache.mesos.v1.Protos.ResourceProviderID providerId_;
+      /**
+       * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+       */
+      public boolean hasProviderId() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+       */
+      public org.apache.mesos.v1.Protos.ResourceProviderID getProviderId() {
+        return providerId_;
+      }
+      /**
+       * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+       */
+      public org.apache.mesos.v1.Protos.ResourceProviderIDOrBuilder 
getProviderIdOrBuilder() {
+        return providerId_;
+      }
+
+      private void initFields() {
+        providerId_ = 
org.apache.mesos.v1.Protos.ResourceProviderID.getDefaultInstance();
+      }
+      private byte memoizedIsInitialized = -1;
+      public final boolean isInitialized() {
+        byte isInitialized = memoizedIsInitialized;
+        if (isInitialized != -1) return isInitialized == 1;
+
+        if (!hasProviderId()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+        if (!getProviderId().isInitialized()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+        memoizedIsInitialized = 1;
+        return true;
+      }
+
+      public void writeTo(com.google.protobuf.CodedOutputStream output)
+                          throws java.io.IOException {
+        getSerializedSize();
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          output.writeMessage(1, providerId_);
+        }
+        getUnknownFields().writeTo(output);
+      }
+
+      private int memoizedSerializedSize = -1;
+      public int getSerializedSize() {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+
+        size = 0;
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          size += com.google.protobuf.CodedOutputStream
+            .computeMessageSize(1, providerId_);
+        }
+        size += getUnknownFields().getSerializedSize();
+        memoizedSerializedSize = size;
+        return size;
+      }
+
+      private static final long serialVersionUID = 0L;
+      @java.lang.Override
+      protected java.lang.Object writeReplace()
+          throws java.io.ObjectStreamException {
+        return super.writeReplace();
+      }
+
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed parseFrom(
+          com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed parseFrom(
+          com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed parseFrom(byte[] 
data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed parseFrom(
+          byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed parseFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input, extensionRegistry);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return PARSER.parseDelimitedFrom(input);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
parseDelimitedFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed parseFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed parseFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input, extensionRegistry);
+      }
+
+      public static Builder newBuilder() { return Builder.create(); }
+      public Builder newBuilderForType() { return newBuilder(); }
+      public static Builder 
newBuilder(org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
prototype) {
+        return newBuilder().mergeFrom(prototype);
+      }
+      public Builder toBuilder() { return newBuilder(this); }
+
+      @java.lang.Override
+      protected Builder newBuilderForType(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        Builder builder = new Builder(parent);
+        return builder;
+      }
+      /**
+       * Protobuf type {@code mesos.v1.resource_provider.Event.Subscribed}
+       *
+       * <pre>
+       * First event received by the resource provider when it subscribes
+       * to the master.
+       * </pre>
+       */
+      public static final class Builder extends
+          com.google.protobuf.GeneratedMessage.Builder<Builder>
+         implements 
org.apache.mesos.v1.resource_provider.Protos.Event.SubscribedOrBuilder {
+        public static final com.google.protobuf.Descriptors.Descriptor
+            getDescriptor() {
+          return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Subscribed_descriptor;
+        }
+
+        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+            internalGetFieldAccessorTable() {
+          return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Subscribed_fieldAccessorTable
+              .ensureFieldAccessorsInitialized(
+                  
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.class, 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.Builder.class);
+        }
+
+        // Construct using 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.newBuilder()
+        private Builder() {
+          maybeForceBuilderInitialization();
+        }
+
+        private Builder(
+            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          super(parent);
+          maybeForceBuilderInitialization();
+        }
+        private void maybeForceBuilderInitialization() {
+          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+            getProviderIdFieldBuilder();
+          }
+        }
+        private static Builder create() {
+          return new Builder();
+        }
+
+        public Builder clear() {
+          super.clear();
+          if (providerIdBuilder_ == null) {
+            providerId_ = 
org.apache.mesos.v1.Protos.ResourceProviderID.getDefaultInstance();
+          } else {
+            providerIdBuilder_.clear();
+          }
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+
+        public Builder clone() {
+          return create().mergeFrom(buildPartial());
+        }
+
+        public com.google.protobuf.Descriptors.Descriptor
+            getDescriptorForType() {
+          return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Subscribed_descriptor;
+        }
+
+        public org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
getDefaultInstanceForType() {
+          return 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.getDefaultInstance();
+        }
+
+        public org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
build() {
+          org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed result 
= buildPartial();
+          if (!result.isInitialized()) {
+            throw newUninitializedMessageException(result);
+          }
+          return result;
+        }
+
+        public org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
buildPartial() {
+          org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed result 
= new org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed(this);
+          int from_bitField0_ = bitField0_;
+          int to_bitField0_ = 0;
+          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+            to_bitField0_ |= 0x00000001;
+          }
+          if (providerIdBuilder_ == null) {
+            result.providerId_ = providerId_;
+          } else {
+            result.providerId_ = providerIdBuilder_.build();
+          }
+          result.bitField0_ = to_bitField0_;
+          onBuilt();
+          return result;
+        }
+
+        public Builder mergeFrom(com.google.protobuf.Message other) {
+          if (other instanceof 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed) {
+            return 
mergeFrom((org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed)other);
+          } else {
+            super.mergeFrom(other);
+            return this;
+          }
+        }
+
+        public Builder 
mergeFrom(org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed other) {
+          if (other == 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.getDefaultInstance())
 return this;
+          if (other.hasProviderId()) {
+            mergeProviderId(other.getProviderId());
+          }
+          this.mergeUnknownFields(other.getUnknownFields());
+          return this;
+        }
+
+        public final boolean isInitialized() {
+          if (!hasProviderId()) {
+            
+            return false;
+          }
+          if (!getProviderId().isInitialized()) {
+            
+            return false;
+          }
+          return true;
+        }
+
+        public Builder mergeFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws java.io.IOException {
+          org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
parsedMessage = null;
+          try {
+            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+            parsedMessage = 
(org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed) 
e.getUnfinishedMessage();
+            throw e;
+          } finally {
+            if (parsedMessage != null) {
+              mergeFrom(parsedMessage);
+            }
+          }
+          return this;
+        }
+        private int bitField0_;
+
+        // required .mesos.v1.ResourceProviderID provider_id = 1;
+        private org.apache.mesos.v1.Protos.ResourceProviderID providerId_ = 
org.apache.mesos.v1.Protos.ResourceProviderID.getDefaultInstance();
+        private com.google.protobuf.SingleFieldBuilder<
+            org.apache.mesos.v1.Protos.ResourceProviderID, 
org.apache.mesos.v1.Protos.ResourceProviderID.Builder, 
org.apache.mesos.v1.Protos.ResourceProviderIDOrBuilder> providerIdBuilder_;
+        /**
+         * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+         */
+        public boolean hasProviderId() {
+          return ((bitField0_ & 0x00000001) == 0x00000001);
+        }
+        /**
+         * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+         */
+        public org.apache.mesos.v1.Protos.ResourceProviderID getProviderId() {
+          if (providerIdBuilder_ == null) {
+            return providerId_;
+          } else {
+            return providerIdBuilder_.getMessage();
+          }
+        }
+        /**
+         * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+         */
+        public Builder 
setProviderId(org.apache.mesos.v1.Protos.ResourceProviderID value) {
+          if (providerIdBuilder_ == null) {
+            if (value == null) {
+              throw new NullPointerException();
+            }
+            providerId_ = value;
+            onChanged();
+          } else {
+            providerIdBuilder_.setMessage(value);
+          }
+          bitField0_ |= 0x00000001;
+          return this;
+        }
+        /**
+         * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+         */
+        public Builder setProviderId(
+            org.apache.mesos.v1.Protos.ResourceProviderID.Builder 
builderForValue) {
+          if (providerIdBuilder_ == null) {
+            providerId_ = builderForValue.build();
+            onChanged();
+          } else {
+            providerIdBuilder_.setMessage(builderForValue.build());
+          }
+          bitField0_ |= 0x00000001;
+          return this;
+        }
+        /**
+         * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+         */
+        public Builder 
mergeProviderId(org.apache.mesos.v1.Protos.ResourceProviderID value) {
+          if (providerIdBuilder_ == null) {
+            if (((bitField0_ & 0x00000001) == 0x00000001) &&
+                providerId_ != 
org.apache.mesos.v1.Protos.ResourceProviderID.getDefaultInstance()) {
+              providerId_ =
+                
org.apache.mesos.v1.Protos.ResourceProviderID.newBuilder(providerId_).mergeFrom(value).buildPartial();
+            } else {
+              providerId_ = value;
+            }
+            onChanged();
+          } else {
+            providerIdBuilder_.mergeFrom(value);
+          }
+          bitField0_ |= 0x00000001;
+          return this;
+        }
+        /**
+         * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+         */
+        public Builder clearProviderId() {
+          if (providerIdBuilder_ == null) {
+            providerId_ = 
org.apache.mesos.v1.Protos.ResourceProviderID.getDefaultInstance();
+            onChanged();
+          } else {
+            providerIdBuilder_.clear();
+          }
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+        /**
+         * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+         */
+        public org.apache.mesos.v1.Protos.ResourceProviderID.Builder 
getProviderIdBuilder() {
+          bitField0_ |= 0x00000001;
+          onChanged();
+          return getProviderIdFieldBuilder().getBuilder();
+        }
+        /**
+         * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+         */
+        public org.apache.mesos.v1.Protos.ResourceProviderIDOrBuilder 
getProviderIdOrBuilder() {
+          if (providerIdBuilder_ != null) {
+            return providerIdBuilder_.getMessageOrBuilder();
+          } else {
+            return providerId_;
+          }
+        }
+        /**
+         * <code>required .mesos.v1.ResourceProviderID provider_id = 1;</code>
+         */
+        private com.google.protobuf.SingleFieldBuilder<
+            org.apache.mesos.v1.Protos.ResourceProviderID, 
org.apache.mesos.v1.Protos.ResourceProviderID.Builder, 
org.apache.mesos.v1.Protos.ResourceProviderIDOrBuilder> 
+            getProviderIdFieldBuilder() {
+          if (providerIdBuilder_ == null) {
+            providerIdBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+                org.apache.mesos.v1.Protos.ResourceProviderID, 
org.apache.mesos.v1.Protos.ResourceProviderID.Builder, 
org.apache.mesos.v1.Protos.ResourceProviderIDOrBuilder>(
+                    providerId_,
+                    getParentForChildren(),
+                    isClean());
+            providerId_ = null;
+          }
+          return providerIdBuilder_;
+        }
+
+        // 
@@protoc_insertion_point(builder_scope:mesos.v1.resource_provider.Event.Subscribed)
+      }
+
+      static {
+        defaultInstance = new Subscribed(true);
+        defaultInstance.initFields();
+      }
+
+      // 
@@protoc_insertion_point(class_scope:mesos.v1.resource_provider.Event.Subscribed)
+    }
+
+    public interface OperationOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
+
+      // optional .mesos.v1.Offer.Operation operation = 1;
+      /**
+       * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+       */
+      boolean hasOperation();
+      /**
+       * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+       */
+      org.apache.mesos.v1.Protos.Offer.Operation getOperation();
+      /**
+       * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+       */
+      org.apache.mesos.v1.Protos.Offer.OperationOrBuilder 
getOperationOrBuilder();
+    }
+    /**
+     * Protobuf type {@code mesos.v1.resource_provider.Event.Operation}
+     *
+     * <pre>
+     * Received when the master wants to send an operation to the
+     * resource provider.
+     * </pre>
+     */
+    public static final class Operation extends
+        com.google.protobuf.GeneratedMessage
+        implements OperationOrBuilder {
+      // Use Operation.newBuilder() to construct.
+      private Operation(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
+        super(builder);
+        this.unknownFields = builder.getUnknownFields();
+      }
+      private Operation(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+      private static final Operation defaultInstance;
+      public static Operation getDefaultInstance() {
+        return defaultInstance;
+      }
+
+      public Operation getDefaultInstanceForType() {
+        return defaultInstance;
+      }
+
+      private final com.google.protobuf.UnknownFieldSet unknownFields;
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet
+          getUnknownFields() {
+        return this.unknownFields;
+      }
+      private Operation(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        initFields();
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+            com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              default: {
+                if (!parseUnknownField(input, unknownFields,
+                                       extensionRegistry, tag)) {
+                  done = true;
+                }
+                break;
+              }
+              case 10: {
+                org.apache.mesos.v1.Protos.Offer.Operation.Builder subBuilder 
= null;
+                if (((bitField0_ & 0x00000001) == 0x00000001)) {
+                  subBuilder = operation_.toBuilder();
+                }
+                operation_ = 
input.readMessage(org.apache.mesos.v1.Protos.Offer.Operation.PARSER, 
extensionRegistry);
+                if (subBuilder != null) {
+                  subBuilder.mergeFrom(operation_);
+                  operation_ = subBuilder.buildPartial();
+                }
+                bitField0_ |= 0x00000001;
+                break;
+              }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(
+              e.getMessage()).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Operation_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Operation_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.class, 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.Builder.class);
+      }
+
+      public static com.google.protobuf.Parser<Operation> PARSER =
+          new com.google.protobuf.AbstractParser<Operation>() {
+        public Operation parsePartialFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws com.google.protobuf.InvalidProtocolBufferException {
+          return new Operation(input, extensionRegistry);
+        }
+      };
+
+      @java.lang.Override
+      public com.google.protobuf.Parser<Operation> getParserForType() {
+        return PARSER;
+      }
+
+      private int bitField0_;
+      // optional .mesos.v1.Offer.Operation operation = 1;
+      public static final int OPERATION_FIELD_NUMBER = 1;
+      private org.apache.mesos.v1.Protos.Offer.Operation operation_;
+      /**
+       * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+       */
+      public boolean hasOperation() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+       */
+      public org.apache.mesos.v1.Protos.Offer.Operation getOperation() {
+        return operation_;
+      }
+      /**
+       * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+       */
+      public org.apache.mesos.v1.Protos.Offer.OperationOrBuilder 
getOperationOrBuilder() {
+        return operation_;
+      }
+
+      private void initFields() {
+        operation_ = 
org.apache.mesos.v1.Protos.Offer.Operation.getDefaultInstance();
+      }
+      private byte memoizedIsInitialized = -1;
+      public final boolean isInitialized() {
+        byte isInitialized = memoizedIsInitialized;
+        if (isInitialized != -1) return isInitialized == 1;
+
+        if (hasOperation()) {
+          if (!getOperation().isInitialized()) {
+            memoizedIsInitialized = 0;
+            return false;
+          }
+        }
+        memoizedIsInitialized = 1;
+        return true;
+      }
+
+      public void writeTo(com.google.protobuf.CodedOutputStream output)
+                          throws java.io.IOException {
+        getSerializedSize();
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          output.writeMessage(1, operation_);
+        }
+        getUnknownFields().writeTo(output);
+      }
+
+      private int memoizedSerializedSize = -1;
+      public int getSerializedSize() {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+
+        size = 0;
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          size += com.google.protobuf.CodedOutputStream
+            .computeMessageSize(1, operation_);
+        }
+        size += getUnknownFields().getSerializedSize();
+        memoizedSerializedSize = size;
+        return size;
+      }
+
+      private static final long serialVersionUID = 0L;
+      @java.lang.Override
+      protected java.lang.Object writeReplace()
+          throws java.io.ObjectStreamException {
+        return super.writeReplace();
+      }
+
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation parseFrom(
+          com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation parseFrom(
+          com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation parseFrom(byte[] 
data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation parseFrom(
+          byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation parseFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input, extensionRegistry);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return PARSER.parseDelimitedFrom(input);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation parseDelimitedFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation parseFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input);
+      }
+      public static 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation parseFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input, extensionRegistry);
+      }
+
+      public static Builder newBuilder() { return Builder.create(); }
+      public Builder newBuilderForType() { return newBuilder(); }
+      public static Builder 
newBuilder(org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
prototype) {
+        return newBuilder().mergeFrom(prototype);
+      }
+      public Builder toBuilder() { return newBuilder(this); }
+
+      @java.lang.Override
+      protected Builder newBuilderForType(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        Builder builder = new Builder(parent);
+        return builder;
+      }
+      /**
+       * Protobuf type {@code mesos.v1.resource_provider.Event.Operation}
+       *
+       * <pre>
+       * Received when the master wants to send an operation to the
+       * resource provider.
+       * </pre>
+       */
+      public static final class Builder extends
+          com.google.protobuf.GeneratedMessage.Builder<Builder>
+         implements 
org.apache.mesos.v1.resource_provider.Protos.Event.OperationOrBuilder {
+        public static final com.google.protobuf.Descriptors.Descriptor
+            getDescriptor() {
+          return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Operation_descriptor;
+        }
+
+        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+            internalGetFieldAccessorTable() {
+          return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Operation_fieldAccessorTable
+              .ensureFieldAccessorsInitialized(
+                  
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.class, 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.Builder.class);
+        }
+
+        // Construct using 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.newBuilder()
+        private Builder() {
+          maybeForceBuilderInitialization();
+        }
+
+        private Builder(
+            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          super(parent);
+          maybeForceBuilderInitialization();
+        }
+        private void maybeForceBuilderInitialization() {
+          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+            getOperationFieldBuilder();
+          }
+        }
+        private static Builder create() {
+          return new Builder();
+        }
+
+        public Builder clear() {
+          super.clear();
+          if (operationBuilder_ == null) {
+            operation_ = 
org.apache.mesos.v1.Protos.Offer.Operation.getDefaultInstance();
+          } else {
+            operationBuilder_.clear();
+          }
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+
+        public Builder clone() {
+          return create().mergeFrom(buildPartial());
+        }
+
+        public com.google.protobuf.Descriptors.Descriptor
+            getDescriptorForType() {
+          return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_Operation_descriptor;
+        }
+
+        public org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
getDefaultInstanceForType() {
+          return 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.getDefaultInstance();
+        }
+
+        public org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
build() {
+          org.apache.mesos.v1.resource_provider.Protos.Event.Operation result 
= buildPartial();
+          if (!result.isInitialized()) {
+            throw newUninitializedMessageException(result);
+          }
+          return result;
+        }
+
+        public org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
buildPartial() {
+          org.apache.mesos.v1.resource_provider.Protos.Event.Operation result 
= new org.apache.mesos.v1.resource_provider.Protos.Event.Operation(this);
+          int from_bitField0_ = bitField0_;
+          int to_bitField0_ = 0;
+          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+            to_bitField0_ |= 0x00000001;
+          }
+          if (operationBuilder_ == null) {
+            result.operation_ = operation_;
+          } else {
+            result.operation_ = operationBuilder_.build();
+          }
+          result.bitField0_ = to_bitField0_;
+          onBuilt();
+          return result;
+        }
+
+        public Builder mergeFrom(com.google.protobuf.Message other) {
+          if (other instanceof 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation) {
+            return 
mergeFrom((org.apache.mesos.v1.resource_provider.Protos.Event.Operation)other);
+          } else {
+            super.mergeFrom(other);
+            return this;
+          }
+        }
+
+        public Builder 
mergeFrom(org.apache.mesos.v1.resource_provider.Protos.Event.Operation other) {
+          if (other == 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.getDefaultInstance())
 return this;
+          if (other.hasOperation()) {
+            mergeOperation(other.getOperation());
+          }
+          this.mergeUnknownFields(other.getUnknownFields());
+          return this;
+        }
+
+        public final boolean isInitialized() {
+          if (hasOperation()) {
+            if (!getOperation().isInitialized()) {
+              
+              return false;
+            }
+          }
+          return true;
+        }
+
+        public Builder mergeFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws java.io.IOException {
+          org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
parsedMessage = null;
+          try {
+            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+            parsedMessage = 
(org.apache.mesos.v1.resource_provider.Protos.Event.Operation) 
e.getUnfinishedMessage();
+            throw e;
+          } finally {
+            if (parsedMessage != null) {
+              mergeFrom(parsedMessage);
+            }
+          }
+          return this;
+        }
+        private int bitField0_;
+
+        // optional .mesos.v1.Offer.Operation operation = 1;
+        private org.apache.mesos.v1.Protos.Offer.Operation operation_ = 
org.apache.mesos.v1.Protos.Offer.Operation.getDefaultInstance();
+        private com.google.protobuf.SingleFieldBuilder<
+            org.apache.mesos.v1.Protos.Offer.Operation, 
org.apache.mesos.v1.Protos.Offer.Operation.Builder, 
org.apache.mesos.v1.Protos.Offer.OperationOrBuilder> operationBuilder_;
+        /**
+         * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+         */
+        public boolean hasOperation() {
+          return ((bitField0_ & 0x00000001) == 0x00000001);
+        }
+        /**
+         * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+         */
+        public org.apache.mesos.v1.Protos.Offer.Operation getOperation() {
+          if (operationBuilder_ == null) {
+            return operation_;
+          } else {
+            return operationBuilder_.getMessage();
+          }
+        }
+        /**
+         * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+         */
+        public Builder setOperation(org.apache.mesos.v1.Protos.Offer.Operation 
value) {
+          if (operationBuilder_ == null) {
+            if (value == null) {
+              throw new NullPointerException();
+            }
+            operation_ = value;
+            onChanged();
+          } else {
+            operationBuilder_.setMessage(value);
+          }
+          bitField0_ |= 0x00000001;
+          return this;
+        }
+        /**
+         * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+         */
+        public Builder setOperation(
+            org.apache.mesos.v1.Protos.Offer.Operation.Builder 
builderForValue) {
+          if (operationBuilder_ == null) {
+            operation_ = builderForValue.build();
+            onChanged();
+          } else {
+            operationBuilder_.setMessage(builderForValue.build());
+          }
+          bitField0_ |= 0x00000001;
+          return this;
+        }
+        /**
+         * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+         */
+        public Builder 
mergeOperation(org.apache.mesos.v1.Protos.Offer.Operation value) {
+          if (operationBuilder_ == null) {
+            if (((bitField0_ & 0x00000001) == 0x00000001) &&
+                operation_ != 
org.apache.mesos.v1.Protos.Offer.Operation.getDefaultInstance()) {
+              operation_ =
+                
org.apache.mesos.v1.Protos.Offer.Operation.newBuilder(operation_).mergeFrom(value).buildPartial();
+            } else {
+              operation_ = value;
+            }
+            onChanged();
+          } else {
+            operationBuilder_.mergeFrom(value);
+          }
+          bitField0_ |= 0x00000001;
+          return this;
+        }
+        /**
+         * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+         */
+        public Builder clearOperation() {
+          if (operationBuilder_ == null) {
+            operation_ = 
org.apache.mesos.v1.Protos.Offer.Operation.getDefaultInstance();
+            onChanged();
+          } else {
+            operationBuilder_.clear();
+          }
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+        /**
+         * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+         */
+        public org.apache.mesos.v1.Protos.Offer.Operation.Builder 
getOperationBuilder() {
+          bitField0_ |= 0x00000001;
+          onChanged();
+          return getOperationFieldBuilder().getBuilder();
+        }
+        /**
+         * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+         */
+        public org.apache.mesos.v1.Protos.Offer.OperationOrBuilder 
getOperationOrBuilder() {
+          if (operationBuilder_ != null) {
+            return operationBuilder_.getMessageOrBuilder();
+          } else {
+            return operation_;
+          }
+        }
+        /**
+         * <code>optional .mesos.v1.Offer.Operation operation = 1;</code>
+         */
+        private com.google.protobuf.SingleFieldBuilder<
+            org.apache.mesos.v1.Protos.Offer.Operation, 
org.apache.mesos.v1.Protos.Offer.Operation.Builder, 
org.apache.mesos.v1.Protos.Offer.OperationOrBuilder> 
+            getOperationFieldBuilder() {
+          if (operationBuilder_ == null) {
+            operationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+                org.apache.mesos.v1.Protos.Offer.Operation, 
org.apache.mesos.v1.Protos.Offer.Operation.Builder, 
org.apache.mesos.v1.Protos.Offer.OperationOrBuilder>(
+                    operation_,
+                    getParentForChildren(),
+                    isClean());
+            operation_ = null;
+          }
+          return operationBuilder_;
+        }
+
+        // 
@@protoc_insertion_point(builder_scope:mesos.v1.resource_provider.Event.Operation)
+      }
+
+      static {
+        defaultInstance = new Operation(true);
+        defaultInstance.initFields();
+      }
+
+      // 
@@protoc_insertion_point(class_scope:mesos.v1.resource_provider.Event.Operation)
+    }
+
+    private int bitField0_;
+    // optional .mesos.v1.resource_provider.Event.Type type = 1;
+    public static final int TYPE_FIELD_NUMBER = 1;
+    private org.apache.mesos.v1.resource_provider.Protos.Event.Type type_;
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Type type = 1;</code>
+     */
+    public boolean hasType() {
+      return ((bitField0_ & 0x00000001) == 0x00000001);
+    }
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Type type = 1;</code>
+     */
+    public org.apache.mesos.v1.resource_provider.Protos.Event.Type getType() {
+      return type_;
+    }
+
+    // optional .mesos.v1.resource_provider.Event.Subscribed subscribed = 2;
+    public static final int SUBSCRIBED_FIELD_NUMBER = 2;
+    private org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
subscribed_;
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Subscribed subscribed 
= 2;</code>
+     */
+    public boolean hasSubscribed() {
+      return ((bitField0_ & 0x00000002) == 0x00000002);
+    }
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Subscribed subscribed 
= 2;</code>
+     */
+    public org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
getSubscribed() {
+      return subscribed_;
+    }
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Subscribed subscribed 
= 2;</code>
+     */
+    public 
org.apache.mesos.v1.resource_provider.Protos.Event.SubscribedOrBuilder 
getSubscribedOrBuilder() {
+      return subscribed_;
+    }
+
+    // optional .mesos.v1.resource_provider.Event.Operation operation = 3;
+    public static final int OPERATION_FIELD_NUMBER = 3;
+    private org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
operation_;
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Operation operation = 
3;</code>
+     */
+    public boolean hasOperation() {
+      return ((bitField0_ & 0x00000004) == 0x00000004);
+    }
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Operation operation = 
3;</code>
+     */
+    public org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
getOperation() {
+      return operation_;
+    }
+    /**
+     * <code>optional .mesos.v1.resource_provider.Event.Operation operation = 
3;</code>
+     */
+    public 
org.apache.mesos.v1.resource_provider.Protos.Event.OperationOrBuilder 
getOperationOrBuilder() {
+      return operation_;
+    }
+
+    private void initFields() {
+      type_ = org.apache.mesos.v1.resource_provider.Protos.Event.Type.UNKNOWN;
+      subscribed_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.getDefaultInstance();
+      operation_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.getDefaultInstance();
+    }
+    private byte memoizedIsInitialized = -1;
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized != -1) return isInitialized == 1;
+
+      if (hasSubscribed()) {
+        if (!getSubscribed().isInitialized()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+      }
+      if (hasOperation()) {
+        if (!getOperation().isInitialized()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+      }
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      getSerializedSize();
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        output.writeEnum(1, type_.getNumber());
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        output.writeMessage(2, subscribed_);
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        output.writeMessage(3, operation_);
+      }
+      getUnknownFields().writeTo(output);
+    }
+
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeEnumSize(1, type_.getNumber());
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(2, subscribed_);
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(3, operation_);
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+
+    private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    protected java.lang.Object writeReplace()
+        throws java.io.ObjectStreamException {
+      return super.writeReplace();
+    }
+
+    public static org.apache.mesos.v1.resource_provider.Protos.Event parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.mesos.v1.resource_provider.Protos.Event parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.mesos.v1.resource_provider.Protos.Event 
parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.mesos.v1.resource_provider.Protos.Event parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.mesos.v1.resource_provider.Protos.Event 
parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.mesos.v1.resource_provider.Protos.Event parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+    public static org.apache.mesos.v1.resource_provider.Protos.Event 
parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input);
+    }
+    public static org.apache.mesos.v1.resource_provider.Protos.Event 
parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+    }
+    public static org.apache.mesos.v1.resource_provider.Protos.Event parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.mesos.v1.resource_provider.Protos.Event parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+
+    public static Builder newBuilder() { return Builder.create(); }
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder 
newBuilder(org.apache.mesos.v1.resource_provider.Protos.Event prototype) {
+      return newBuilder().mergeFrom(prototype);
+    }
+    public Builder toBuilder() { return newBuilder(this); }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code mesos.v1.resource_provider.Event}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.apache.mesos.v1.resource_provider.Protos.EventOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.mesos.v1.resource_provider.Protos.Event.class, 
org.apache.mesos.v1.resource_provider.Protos.Event.Builder.class);
+      }
+
+      // Construct using 
org.apache.mesos.v1.resource_provider.Protos.Event.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+          getSubscribedFieldBuilder();
+          getOperationFieldBuilder();
+        }
+      }
+      private static Builder create() {
+        return new Builder();
+      }
+
+      public Builder clear() {
+        super.clear();
+        type_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Type.UNKNOWN;
+        bitField0_ = (bitField0_ & ~0x00000001);
+        if (subscribedBuilder_ == null) {
+          subscribed_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.getDefaultInstance();
+        } else {
+          subscribedBuilder_.clear();
+        }
+        bitField0_ = (bitField0_ & ~0x00000002);
+        if (operationBuilder_ == null) {
+          operation_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.getDefaultInstance();
+        } else {
+          operationBuilder_.clear();
+        }
+        bitField0_ = (bitField0_ & ~0x00000004);
+        return this;
+      }
+
+      public Builder clone() {
+        return create().mergeFrom(buildPartial());
+      }
+
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return 
org.apache.mesos.v1.resource_provider.Protos.internal_static_mesos_v1_resource_provider_Event_descriptor;
+      }
+
+      public org.apache.mesos.v1.resource_provider.Protos.Event 
getDefaultInstanceForType() {
+        return 
org.apache.mesos.v1.resource_provider.Protos.Event.getDefaultInstance();
+      }
+
+      public org.apache.mesos.v1.resource_provider.Protos.Event build() {
+        org.apache.mesos.v1.resource_provider.Protos.Event result = 
buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      public org.apache.mesos.v1.resource_provider.Protos.Event buildPartial() 
{
+        org.apache.mesos.v1.resource_provider.Protos.Event result = new 
org.apache.mesos.v1.resource_provider.Protos.Event(this);
+        int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
+        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+          to_bitField0_ |= 0x00000001;
+        }
+        result.type_ = type_;
+        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+          to_bitField0_ |= 0x00000002;
+        }
+        if (subscribedBuilder_ == null) {
+          result.subscribed_ = subscribed_;
+        } else {
+          result.subscribed_ = subscribedBuilder_.build();
+        }
+        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+          to_bitField0_ |= 0x00000004;
+        }
+        if (operationBuilder_ == null) {
+          result.operation_ = operation_;
+        } else {
+          result.operation_ = operationBuilder_.build();
+        }
+        result.bitField0_ = to_bitField0_;
+        onBuilt();
+        return result;
+      }
+
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof 
org.apache.mesos.v1.resource_provider.Protos.Event) {
+          return 
mergeFrom((org.apache.mesos.v1.resource_provider.Protos.Event)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder 
mergeFrom(org.apache.mesos.v1.resource_provider.Protos.Event other) {
+        if (other == 
org.apache.mesos.v1.resource_provider.Protos.Event.getDefaultInstance()) return 
this;
+        if (other.hasType()) {
+          setType(other.getType());
+        }
+        if (other.hasSubscribed()) {
+          mergeSubscribed(other.getSubscribed());
+        }
+        if (other.hasOperation()) {
+          mergeOperation(other.getOperation());
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+
+      public final boolean isInitialized() {
+        if (hasSubscribed()) {
+          if (!getSubscribed().isInitialized()) {
+            
+            return false;
+          }
+        }
+        if (hasOperation()) {
+          if (!getOperation().isInitialized()) {
+            
+            return false;
+          }
+        }
+        return true;
+      }
+
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        org.apache.mesos.v1.resource_provider.Protos.Event parsedMessage = 
null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (org.apache.mesos.v1.resource_provider.Protos.Event) 
e.getUnfinishedMessage();
+          throw e;
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+      private int bitField0_;
+
+      // optional .mesos.v1.resource_provider.Event.Type type = 1;
+      private org.apache.mesos.v1.resource_provider.Protos.Event.Type type_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Type.UNKNOWN;
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Type type = 1;</code>
+       */
+      public boolean hasType() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Type type = 1;</code>
+       */
+      public org.apache.mesos.v1.resource_provider.Protos.Event.Type getType() 
{
+        return type_;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Type type = 1;</code>
+       */
+      public Builder 
setType(org.apache.mesos.v1.resource_provider.Protos.Event.Type value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
+        bitField0_ |= 0x00000001;
+        type_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Type type = 1;</code>
+       */
+      public Builder clearType() {
+        bitField0_ = (bitField0_ & ~0x00000001);
+        type_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Type.UNKNOWN;
+        onChanged();
+        return this;
+      }
+
+      // optional .mesos.v1.resource_provider.Event.Subscribed subscribed = 2;
+      private org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
subscribed_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.getDefaultInstance();
+      private com.google.protobuf.SingleFieldBuilder<
+          org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed, 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.Builder, 
org.apache.mesos.v1.resource_provider.Protos.Event.SubscribedOrBuilder> 
subscribedBuilder_;
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Subscribed 
subscribed = 2;</code>
+       */
+      public boolean hasSubscribed() {
+        return ((bitField0_ & 0x00000002) == 0x00000002);
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Subscribed 
subscribed = 2;</code>
+       */
+      public org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
getSubscribed() {
+        if (subscribedBuilder_ == null) {
+          return subscribed_;
+        } else {
+          return subscribedBuilder_.getMessage();
+        }
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Subscribed 
subscribed = 2;</code>
+       */
+      public Builder 
setSubscribed(org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
value) {
+        if (subscribedBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          subscribed_ = value;
+          onChanged();
+        } else {
+          subscribedBuilder_.setMessage(value);
+        }
+        bitField0_ |= 0x00000002;
+        return this;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Subscribed 
subscribed = 2;</code>
+       */
+      public Builder setSubscribed(
+          
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.Builder 
builderForValue) {
+        if (subscribedBuilder_ == null) {
+          subscribed_ = builderForValue.build();
+          onChanged();
+        } else {
+          subscribedBuilder_.setMessage(builderForValue.build());
+        }
+        bitField0_ |= 0x00000002;
+        return this;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Subscribed 
subscribed = 2;</code>
+       */
+      public Builder 
mergeSubscribed(org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed 
value) {
+        if (subscribedBuilder_ == null) {
+          if (((bitField0_ & 0x00000002) == 0x00000002) &&
+              subscribed_ != 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.getDefaultInstance())
 {
+            subscribed_ =
+              
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.newBuilder(subscribed_).mergeFrom(value).buildPartial();
+          } else {
+            subscribed_ = value;
+          }
+          onChanged();
+        } else {
+          subscribedBuilder_.mergeFrom(value);
+        }
+        bitField0_ |= 0x00000002;
+        return this;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Subscribed 
subscribed = 2;</code>
+       */
+      public Builder clearSubscribed() {
+        if (subscribedBuilder_ == null) {
+          subscribed_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.getDefaultInstance();
+          onChanged();
+        } else {
+          subscribedBuilder_.clear();
+        }
+        bitField0_ = (bitField0_ & ~0x00000002);
+        return this;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Subscribed 
subscribed = 2;</code>
+       */
+      public 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.Builder 
getSubscribedBuilder() {
+        bitField0_ |= 0x00000002;
+        onChanged();
+        return getSubscribedFieldBuilder().getBuilder();
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Subscribed 
subscribed = 2;</code>
+       */
+      public 
org.apache.mesos.v1.resource_provider.Protos.Event.SubscribedOrBuilder 
getSubscribedOrBuilder() {
+        if (subscribedBuilder_ != null) {
+          return subscribedBuilder_.getMessageOrBuilder();
+        } else {
+          return subscribed_;
+        }
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Subscribed 
subscribed = 2;</code>
+       */
+      private com.google.protobuf.SingleFieldBuilder<
+          org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed, 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.Builder, 
org.apache.mesos.v1.resource_provider.Protos.Event.SubscribedOrBuilder> 
+          getSubscribedFieldBuilder() {
+        if (subscribedBuilder_ == null) {
+          subscribedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+              org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed, 
org.apache.mesos.v1.resource_provider.Protos.Event.Subscribed.Builder, 
org.apache.mesos.v1.resource_provider.Protos.Event.SubscribedOrBuilder>(
+                  subscribed_,
+                  getParentForChildren(),
+                  isClean());
+          subscribed_ = null;
+        }
+        return subscribedBuilder_;
+      }
+
+      // optional .mesos.v1.resource_provider.Event.Operation operation = 3;
+      private org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
operation_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.getDefaultInstance();
+      private com.google.protobuf.SingleFieldBuilder<
+          org.apache.mesos.v1.resource_provider.Protos.Event.Operation, 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.Builder, 
org.apache.mesos.v1.resource_provider.Protos.Event.OperationOrBuilder> 
operationBuilder_;
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Operation operation 
= 3;</code>
+       */
+      public boolean hasOperation() {
+        return ((bitField0_ & 0x00000004) == 0x00000004);
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Operation operation 
= 3;</code>
+       */
+      public org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
getOperation() {
+        if (operationBuilder_ == null) {
+          return operation_;
+        } else {
+          return operationBuilder_.getMessage();
+        }
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Operation operation 
= 3;</code>
+       */
+      public Builder 
setOperation(org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
value) {
+        if (operationBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          operation_ = value;
+          onChanged();
+        } else {
+          operationBuilder_.setMessage(value);
+        }
+        bitField0_ |= 0x00000004;
+        return this;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Operation operation 
= 3;</code>
+       */
+      public Builder setOperation(
+          org.apache.mesos.v1.resource_provider.Protos.Event.Operation.Builder 
builderForValue) {
+        if (operationBuilder_ == null) {
+          operation_ = builderForValue.build();
+          onChanged();
+        } else {
+          operationBuilder_.setMessage(builderForValue.build());
+        }
+        bitField0_ |= 0x00000004;
+        return this;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Operation operation 
= 3;</code>
+       */
+      public Builder 
mergeOperation(org.apache.mesos.v1.resource_provider.Protos.Event.Operation 
value) {
+        if (operationBuilder_ == null) {
+          if (((bitField0_ & 0x00000004) == 0x00000004) &&
+              operation_ != 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.getDefaultInstance())
 {
+            operation_ =
+              
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.newBuilder(operation_).mergeFrom(value).buildPartial();
+          } else {
+            operation_ = value;
+          }
+          onChanged();
+        } else {
+          operationBuilder_.mergeFrom(value);
+        }
+        bitField0_ |= 0x00000004;
+        return this;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Operation operation 
= 3;</code>
+       */
+      public Builder clearOperation() {
+        if (operationBuilder_ == null) {
+          operation_ = 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.getDefaultInstance();
+          onChanged();
+        } else {
+          operationBuilder_.clear();
+        }
+        bitField0_ = (bitField0_ & ~0x00000004);
+        return this;
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Operation operation 
= 3;</code>
+       */
+      public 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.Builder 
getOperationBuilder() {
+        bitField0_ |= 0x00000004;
+        onChanged();
+        return getOperationFieldBuilder().getBuilder();
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Operation operation 
= 3;</code>
+       */
+      public 
org.apache.mesos.v1.resource_provider.Protos.Event.OperationOrBuilder 
getOperationOrBuilder() {
+        if (operationBuilder_ != null) {
+          return operationBuilder_.getMessageOrBuilder();
+        } else {
+          return operation_;
+        }
+      }
+      /**
+       * <code>optional .mesos.v1.resource_provider.Event.Operation operation 
= 3;</code>
+       */
+      private com.google.protobuf.SingleFieldBuilder<
+          org.apache.mesos.v1.resource_provider.Protos.Event.Operation, 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.Builder, 
org.apache.mesos.v1.resource_provider.Protos.Event.OperationOrBuilder> 
+          getOperationFieldBuilder() {
+        if (operationBuilder_ == null) {
+          operationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+              org.apache.mesos.v1.resource_provider.Protos.Event.Operation, 
org.apache.mesos.v1.resource_provider.Protos.Event.Operation.Builder, 
org.apache.mesos.v1.resource_provider.Protos.Event.OperationOrBuilder>(
+                  operation_,
+                  getParentForChildren(),
+                  isClean());
+          operation_ = null;
+        }
+        return operationBuilder_;
+      }
+
+      // 
@@protoc_insertion_point(builder_scope:mesos.v1.resource_provider.Event)
+    }
+
+    static {
+      defaultInstance = new Event(true);
+      defaultInstance.initFields();
+    }
+
+    // @@protoc_insertion_point(class_scope:mesos.v1.resource_provider.Event)
+  }
+
+  public interface CallOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // optional .mesos.v1.ResourceProviderID resource_provider_id = 1;
+    /**
+     * <code>optional .mesos.v1.ResourceProviderID resource_provider_id = 
1;</code>
+     *
+     * <pre>
+     * Identifies who generated this call.
+     * The 'ResourceProviderManager' assigns a resource provider ID when
+     * a new resource provider subscribes for the first time. Once
+     * assigned, the resource provider must set the 'resource_provider_id'
+     * here and within its 'ResourceProviderInfo' (in any further
+     * 'SUBSCRIBE' calls). This allows the 'ResourceProviderManager' to
+     * identify a resource provider correctly across disconnections,
+     * failovers, etc.
+     * </pre>
+     */
+    boolean hasResourceProviderId();
+    /**
+     * <code>optional .mesos.v1.ResourceProviderID resource_provider_id = 
1;</code>
+     *
+     * <pre>
+     * Identifies who generated this call.
+     * The 'ResourceProviderManager' assigns a resource provider ID when
+     * a new resource provider subscribes for the first time. Once
+     * assigned, the resource provider must set the 'resource_provider_id'
+     * here and within its 'ResourceProviderInfo' (in any further
+     * 'SUBSCRIBE' calls). This allows the 'ResourceProviderManager' to
+     * identify a resource provider correctly across disconnections,
+     * failovers, etc.
+     * </pre>
+     */
+    org.apache.mesos.v1.Protos.ResourceProviderID getResourceProviderId();
+    /**
+     * <code>optional .mesos.v1.ResourceProviderID resource_provider_id = 
1;</code>
+     *
+     * <pre>
+     * Identifies who generated this call.
+     * The 'ResourceProviderManager' assigns a resource provider ID when
+     * a new resource provider subscribes for the first time. Once
+     * assigned, the resource provider must set the 'resource_provider_id'
+     * here and within its 'ResourceProviderInfo' (in any further
+     * 'SUBSCRIBE' calls). This allows the 'ResourceProviderManager' to
+     * identify a resource provider correctly across disconnections,
+     * failovers, etc.
+     * </pre>
+     */
+    org.apache.mesos.v1.Protos.ResourceProviderIDOrBuilder 
getResourceProviderIdOrBuilder();
+
+    // optional .mesos.v1.resource_provider.Call.Type type = 2;
+    /**
+     * <code>optional .mesos.v1.resource_provider.Call.Type type = 2;</code>
+     */
+    boolean hasType();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Call.Type type = 2;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Call.Type getType();
+
+    // optional .mesos.v1.resource_provider.Call.Subscribe subscribe = 3;
+    /**
+     * <code>optional .mesos.v1.resource_provider.Call.Subscribe subscribe = 
3;</code>
+     */
+    boolean hasSubscribe();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Call.Subscribe subscribe = 
3;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Call.Subscribe getSubscribe();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Call.Subscribe subscribe = 
3;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Call.SubscribeOrBuilder 
getSubscribeOrBuilder();
+
+    // optional .mesos.v1.resource_provider.Call.Update update = 4;
+    /**
+     * <code>optional .mesos.v1.resource_provider.Call.Update update = 
4;</code>
+     */
+    boolean hasUpdate();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Call.Update update = 
4;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Call.Update getUpdate();
+    /**
+     * <code>optional .mesos.v1.resource_provider.Call.Update update = 
4;</code>
+     */
+    org.apache.mesos.v1.resource_provider.Protos.Call.UpdateOrBuilder 
getUpdateOrBuilder();
+  }
+  /**
+   * Protobuf type {@code mesos.v1.resource_provider.Call}
+   */
+  public static final class Call extends
+      com.google.protobuf.GeneratedMessage
+      implements CallOrBuilder {
+    // Use Call.newBuilder() to construct.
+    private Call(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private Call(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final Call defaultInstance;
+    public static Call getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public Call getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private Call(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 10: {
+              org.apache.mesos.v1.Protos.ResourceProviderID.Builder subBuilder 
= null;
+              if (((bitField0_ & 0x00000001) == 0x00000001)) {
+                subBuilder = resourceProviderId_.toBuilder();
+              }
+              resourceProviderId_ = 
input.readMessage(org.apache.mesos.v1.Protos.ResourceProviderID.PARSER, 
extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(resourceProviderId_);
+                resourceProviderId_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000001;
+              break;
+            }
+            case 16: {
+              int rawValue = input.readEnum();
+              org.apache.mesos.v1.resource_provider.Protos.Call.Type value = 
org.apache.mesos.v1.resource_provider.Protos.Call.Type.valueOf(rawValue);
+              if (value == null) {
+                unknownFields.mergeVarintField(2, rawValue);
+              } else {
+                bitField0_ |= 0x00000002;
+                type_ = value;
+              }
+              break;
+            }
+            case 26: {
+              
org.apache.mesos.v1.resource_provider.Protos.Call.Subscribe.Builder subBuilder 
= null;
+              if (((bitField0_ & 0x00000004) == 0x00000004)) {
+                subBuilder = subscribe_.toBuilder();
+              }
+              subscribe_ = 
input.readMessage(org.apache.mesos.v1.resource_provider.Protos.Call.Subscribe.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(subscribe_);
+                subscribe_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x0000

<TRUNCATED>

Reply via email to