|  | @@ -48,14 +48,32 @@ namespace Google.Protobuf.Reflection
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              UnorderedExtensions = DescriptorUtil.ConvertAndMakeReadOnly(
 | 
	
		
			
				|  |  |                  file.Proto.Extension,
 | 
	
		
			
				|  |  | -                (extension, i) => new FieldDescriptor(extension, file, null, i, null, extensions?[i]));
 | 
	
		
			
				|  |  | +                (extension, i) => {
 | 
	
		
			
				|  |  | +                    if (extensions?.Length != 0)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        return new FieldDescriptor(extension, file, null, i, null, extensions?[i]);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    else
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        return new FieldDescriptor(extension, file, null, i, null, null); // return null if there's no extensions in this array for old code-gen
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          internal ExtensionCollection(MessageDescriptor message, Extension[] extensions)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              UnorderedExtensions = DescriptorUtil.ConvertAndMakeReadOnly(
 | 
	
		
			
				|  |  |                  message.Proto.Extension,
 | 
	
		
			
				|  |  | -                (extension, i) => new FieldDescriptor(extension, message.File, message, i, null, extensions?[i]));
 | 
	
		
			
				|  |  | +                (extension, i) => {
 | 
	
		
			
				|  |  | +                    if (extensions?.Length != 0)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        return new FieldDescriptor(extension, message.File, message, i, null, extensions?[i]);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    else
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        return new FieldDescriptor(extension, message.File, message, i, null, null);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 |