public static ImplementInterfaceCodeAction CreateImplementExplicitlyCodeAction(
     AbstractImplementInterfaceService service,
     Document document,
     State state)
 {
     return(new ImplementInterfaceCodeAction(service, document, state, explicitly: true, abstractly: false, throughMember: null));
 }
 public static ImplementInterfaceCodeAction CreateImplementThroughMemberCodeAction(
     AbstractImplementInterfaceService service,
     Document document,
     State state,
     ISymbol throughMember)
 {
     return(new ImplementInterfaceCodeAction(service, document, state, explicitly: false, abstractly: false, throughMember: throughMember));
 }
 internal ImplementInterfaceWithDisposePatternCodeAction(
     AbstractImplementInterfaceService service,
     Document document,
     State state,
     bool explicitly,
     bool abstractly,
     ISymbol throughMember) : base(service, document, state, explicitly, abstractly, throughMember)
 {
 }
 internal ImplementInterfaceCodeAction(
     AbstractImplementInterfaceService service,
     Document document,
     State state,
     bool explicitly,
     bool abstractly,
     ISymbol throughMember)
 {
     this.Service       = service;
     this.Document      = document;
     this.State         = state;
     this.Abstractly    = abstractly;
     this.Explicitly    = explicitly;
     this.ThroughMember = throughMember;
     _equivalenceKey    = ComputeEquivalenceKey(state, explicitly, abstractly, throughMember, this.GetType().FullName);
 }