--- /dev/null
+/**\r
+ * Abstract service method.\r
+ * @exports ProtoBuf.Reflect.Service.Method\r
+ * @param {!ProtoBuf.Builder} builder Builder reference\r
+ * @param {!ProtoBuf.Reflect.Service} svc Service\r
+ * @param {string} name Method name\r
+ * @param {Object.<string,*>=} options Options\r
+ * @constructor\r
+ * @extends ProtoBuf.Reflect.T\r
+ */\r
+var Method = function(builder, svc, name, options) {\r
+ T.call(this, builder, svc, name);\r
+\r
+ /**\r
+ * @override\r
+ */\r
+ this.className = "Service.Method";\r
+\r
+ /**\r
+ * Options.\r
+ * @type {Object.<string, *>}\r
+ * @expose\r
+ */\r
+ this.options = options || {};\r
+};\r
+\r
+/**\r
+ * @alias ProtoBuf.Reflect.Service.Method.prototype\r
+ * @inner\r
+ */\r
+var MethodPrototype = Method.prototype = Object.create(T.prototype);\r
+\r
+/**\r
+ * Builds the method's '$options' property.\r
+ * @name ProtoBuf.Reflect.Service.Method#buildOpt\r
+ * @function\r
+ * @return {Object.<string,*>}\r
+ */\r
+MethodPrototype.buildOpt = NamespacePrototype.buildOpt;\r