ProcedureNotUsedInspection.IsIgnoredDeclaration()
{
var enumerable = classes as IList<Declaration> ?? classes.ToList();
var result = !ProcedureTypes.Contains(declaration.DeclarationType)
|| declaration.References.Any(r => !r.IsAssignment && !r.ParentScoping.Equals(declaration)) // recursive calls don't count
|| handlers.Contains(declaration)
|| IsPublicModuleMember(modules, declaration)
|| IsClassLifeCycleHandler(enumerable, declaration)