public static Collection<CustomAttribute> GetCustomAttributes(
     this ICustomAttributeProvider self,
     ref Collection<CustomAttribute> variable,
     ModuleDefinition module)
 {
     return module.HasImage()
         ? module.Read(ref variable, self, (provider, reader) => reader.ReadCustomAttributes(provider))
         : variable = new Collection<CustomAttribute>();
 }
 public static bool GetHasCustomAttributes(
     this ICustomAttributeProvider self,
     ModuleDefinition module)
 {
     return module.HasImage() && module.Read(self, (provider, reader) => reader.HasCustomAttributes(provider));
 }
 public static Collection<SecurityDeclaration> GetSecurityDeclarations(
     this ISecurityDeclarationProvider self,
     ref Collection<SecurityDeclaration> variable,
     ModuleDefinition module)
 {
     return module.HasImage()
         ? module.Read(ref variable, self, (provider, reader) => reader.ReadSecurityDeclarations(provider))
         : variable = new Collection<SecurityDeclaration>();
 }
 public static bool GetHasSecurityDeclarations(
     this ISecurityDeclarationProvider self,
     ModuleDefinition module)
 {
     return module.HasImage() && module.Read(self, (provider, reader) => reader.HasSecurityDeclarations(provider));
 }
 public static bool GetHasGenericParameters(
     this IGenericParameterProvider self,
     ModuleDefinition module)
 {
     return module.HasImage() && module.Read(self, (provider, reader) => reader.HasGenericParameters(provider));
 }
 public static Collection<GenericParameter> GetGenericParameters(
     this IGenericParameterProvider self,
     ref Collection<GenericParameter> collection,
     ModuleDefinition module)
 {
     return module.HasImage()
         ? module.Read(ref collection, self, (provider, reader) => reader.ReadGenericParameters(provider))
         : collection = new GenericParameterCollection(self);
 }