internal static IEventSymbol CreateEventSymbol(
     IEventSymbol @event,
     IList <AttributeData> attributes     = null,
     Accessibility?accessibility          = null,
     SymbolModifiers?modifiers            = null,
     IEventSymbol explicitInterfaceSymbol = null,
     string name                = null,
     IMethodSymbol addMethod    = null,
     IMethodSymbol removeMethod = null)
 {
     return(CodeGenerationSymbolFactory.CreateEventSymbol(
                attributes,
                accessibility ?? @event.DeclaredAccessibility,
                modifiers ?? @event.GetSymbolModifiers(),
                @event.Type,
                explicitInterfaceSymbol,
                name ?? @event.Name,
                addMethod,
                removeMethod));
 }
 internal static IEventSymbol CreateEventSymbol(
     IEventSymbol @event,
     IList<AttributeData> attributes = null,
     Accessibility? accessibility = null,
     DeclarationModifiers? modifiers = null,
     IEventSymbol explicitInterfaceSymbol = null,
     string name = null,
     IMethodSymbol addMethod = null,
     IMethodSymbol removeMethod = null)
 {
     return CodeGenerationSymbolFactory.CreateEventSymbol(
         attributes,
         accessibility ?? @event.DeclaredAccessibility,
         modifiers ?? @event.GetSymbolModifiers(),
         @event.Type,
         explicitInterfaceSymbol,
         name ?? @event.Name,
         addMethod,
         removeMethod);
 }