public com.google.protobuf.DescriptorProtos.ServiceDescriptorProto buildPartial() {
        com.google.protobuf.DescriptorProtos.ServiceDescriptorProto result = new com.google.protobuf.DescriptorProtos.ServiceDescriptorProto(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.name_ = name_;
        if (methodBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            method_ = java.util.Collections.unmodifiableList(method_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.method_ = method_;
        } else {
          result.method_ = methodBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000002;
        }
        if (optionsBuilder_ == null) {
          result.options_ = options_;
        } else {
          result.options_ = optionsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }