|  | @@ -97,6 +97,13 @@ namespace Google.Protobuf.Reflection
 | 
	
		
			
				|  |  |          [Obsolete("CustomOptions are obsolete. Use the Options property.")]
 | 
	
		
			
				|  |  |          public CustomOptions CustomOptions => new CustomOptions(Proto.Options?._extensions?.ValuesByNumber);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// The <c>ServiceOptions</c>, defined in <c>descriptor.proto</c>.
 | 
	
		
			
				|  |  | +        /// Custom options can be retrieved as extensions of the returned message.
 | 
	
		
			
				|  |  | +        /// NOTE: A defensive copy is created each time this property is retrieved.
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        public ServiceOptions Options => Proto.Options?.Clone();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  |          /// Gets a single value service option for this descriptor
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
	
		
			
				|  | @@ -116,13 +123,6 @@ namespace Google.Protobuf.Reflection
 | 
	
		
			
				|  |  |              return Proto.Options.GetExtension(extension).Clone();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        /// <summary>
 | 
	
		
			
				|  |  | -        /// The <c>ServiceOptions</c>, defined in <c>descriptor.proto</c>.
 | 
	
		
			
				|  |  | -        /// Custom options can be retrieved as extensions of the returned message.
 | 
	
		
			
				|  |  | -        /// NOTE: A defensive copy is created each time this property is retrieved.
 | 
	
		
			
				|  |  | -        /// </summary>
 | 
	
		
			
				|  |  | -        public ServiceOptions Options => (Proto.Options as IDeepCloneable<ServiceOptions>)?.Clone();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          internal void CrossLink()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              foreach (MethodDescriptor method in methods)
 |