private RuleResult PreCheck(IMetadataTokenProvider obj) { if (obj == null) { throw new ArgumentNullException("obj", "Cannot check a null object"); } Reset(); AssemblyDefinition assembly = obj.GetAssembly(); if (!Assemblies.Contains(assembly)) { Assemblies.Clear(); Assemblies.Add(assembly); Engines.Build(Assemblies); } CurrentTarget = obj; return(IgnoreList.IsIgnored(CurrentRule, obj) ? RuleResult.DoesNotApply : RuleResult.Success); }