public bool Match(DepositBits dpb) { this.dpbUse = dpb; if (!(dpb.Source is Identifier idDef)) { return(false); } var stms = ctx.GetDefiningStatementClosure(idDef); if (stms.Count == 0) { return(false); } var items = stms.Select(GetDpbDetails).ToList(); var first = items[0].idSrc; if (items.All(i => i.idSrc != null && i.idSrc == first && i.dpbDef.BitPosition == dpbUse.BitPosition)) { this.idDef = idDef; this.idSrc = items[0].idSrc; return(true); } else { return(false); } }